Tôi có một bảng với các hạng mục:SQLite và tùy chỉnh trật tự bởi
ID Category
"1","Baking"
"3","Family"
"4","Entertaining"
"5","Children"
"6","Desserts"
Bây giờ tôi muốn đặt kết quả của câu lệnh select để
ID Category
"4","Entertaining"
"3","Family"
"1","Baking"
"5","Children"
"6","Desserts"
ví dụ. Trong MySQL, bạn sẽ làm như sau:
SELECT * FROM CATEGORIES ORDER BY FIELD (ID, 4,3,1,5,6);
Bạn sẽ làm như thế nào trong SQLite? Tôi không có trường "đặt hàng".
+1 ya tôi quá, tôi đã chỉ cần gõ nó ra. Tất nhiên, tùy chọn khác là tạo một thuộc tính hoạt động như một ưu tiên, sau đó bạn chỉ có thể đặt hàng theo mức độ ưu tiên. Đây không phải là cách lý tưởng, nhưng là một giải pháp mà tôi đã phải sử dụng trong quá khứ. – northpole
Đối với tốc độ với các tập dữ liệu lớn, tôi có thể tạo một bảng trợ giúp được lập chỉ mục có chứa các ID và thứ tự mong muốn của chúng, sau đó nối với nó và sắp xếp theo cột được lập chỉ mục của nó. Không chắc chắn làm thế nào SQLite sẽ xử lý này, nhưng "lớn hơn" động cơ DB có lẽ sẽ có lợi, như là biểu hiện CASE không phải là tối ưu cho đặt hàng. – Tomalak