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.