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?
Jawaban:
Gunakan kueri berikut:
SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1
Catatan: Referensi id baris Sqlite dirinci di sini .
sumber
LIMIT 1
adalah apa yang kamu inginkan. Perlu diingat bahwa ini mengembalikan rekaman pertama dalam kumpulan hasil terlepas dari urutannya (kecuali Anda menentukanorder
klausa dalam kueri luar).sumber
LIMIT 1
menjalankan kueri lengkap, dan kemudian membuang hasil yang tidak dibutuhkan. Ada beberapa diskusi milis tentang itu danCOUNT(*)
. Ini berbeda dengan menemukan catatan pertama yang cocok denganTOP 1
. Setelah rekaman pertama ditemukan, kueri dapat berhenti dan mengembalikan hasilnya.