Cách lấy hàng đầu tiên / trên cùng của bảng trong Sqlite thông qua Sql Query


90

Tôi cần tìm nạp hàng đầu tiên / trên cùng của bảng trong cơ sở dữ liệu Sqlite.

Nhưng chương trình của tôi ném ra một SQLException "Lỗi cú pháp Sqlite: Lỗi cú pháp gần '1'" cho truy vấn mà tôi đang sử dụng:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

Tôi đoán đó là một cú pháp đặc biệt cho MS SQL SERVER và MS ACCESS. Ngay bây giờ tôi đang sử dụng.

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

Giải pháp tốt nhất cho vấn đề này là gì?


Cần lưu ý rằng nhà phát triển không nên phụ thuộc vào thứ tự vật lý của các bản ghi trong Bảng. Đây là ý tưởng nguy hiểm.
Ruslan Zasukhin

Câu trả lời:



28

LIMIT 1là những gì bạn muốn. Chỉ cần ghi nhớ điều này trả về bản ghi đầu tiên trong tập kết quả bất kể thứ tự (trừ khi bạn chỉ định một ordermệnh đề trong một truy vấn bên ngoài).


1
LIMIT 1thực hiện truy vấn đầy đủ, và sau đó loại bỏ các kết quả không cần thiết. Có một số cuộc thảo luận về danh sách gửi thư về nó và COUNT(*). Nó khác với việc tìm bản ghi phù hợp đầu tiên với TOP 1. Khi bản ghi đầu tiên được tìm thấy, truy vấn có thể dừng và trả về kết quả.
jww
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.