Cara mendapatkan baris pertama / atas tabel di Sqlite melalui Query Sql


90

Saya perlu mengambil baris pertama / atas tabel dalam database Sqlite.

Tetapi program saya memunculkan SQLException "Sqlite Syntax Error: Syntax error near '1'" untuk kueri yang saya gunakan:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

Yang saya kira adalah sintaks khusus untuk MS SQL SERVER dan MS ACCESS. Sekarang saya menggunakan.

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

Apa solusi terbaik untuk masalah ini?


Perlu disebutkan bahwa pengembang tidak boleh bergantung pada urutan fisik catatan dalam Tabel. Ini adalah ide bahaya.
Ruslan Zasukhin

Jawaban:


143

Gunakan kueri berikut:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

Catatan: Referensi id baris Sqlite dirinci di sini .


28

LIMIT 1adalah apa yang kamu inginkan. Perlu diingat bahwa ini mengembalikan rekaman pertama dalam kumpulan hasil terlepas dari urutannya (kecuali Anda menentukan orderklausa dalam kueri luar).


1
LIMIT 1menjalankan kueri lengkap, dan kemudian membuang hasil yang tidak dibutuhkan. Ada beberapa diskusi milis tentang itu dan COUNT(*). Ini berbeda dengan menemukan catatan pertama yang cocok dengan TOP 1. Setelah rekaman pertama ditemukan, kueri dapat berhenti dan mengembalikan hasilnya.
jww
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.