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?

Omayr
sumber
Perlu disebutkan bahwa pengembang tidak boleh bergantung pada urutan fisik catatan dalam Tabel. Ini adalah ide bahaya.
Ruslan Zasukhin
Kemungkinan duplikat dari Bagaimana cara mendapatkan 5 catatan teratas di SqLite?
Mehdi Dehghani

Jawaban:

143

Gunakan kueri berikut:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

Catatan: Referensi id baris Sqlite dirinci di sini .

Achim
sumber
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).

Jordan Parmer
sumber
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