Được rồi, tôi có một bảng có khóa được lập chỉ mục và trường không được lập chỉ mục. Tôi cần tìm tất cả các bản ghi với một giá trị nhất định và trả về hàng. Tôi muốn biết liệu tôi có thể đặt hàng theo nhiều giá trị hay không.
Thí dụ:
id x_field
-- -----
123 a
124 a
125 a
126 b
127 f
128 b
129 a
130 x
131 x
132 b
133 p
134 p
135 i
pseudo: muốn kết quả được sắp xếp như thế này, where ORDER BY x_field = 'f', 'p', 'i', 'a'
SELECT *
FROM table
WHERE id NOT IN (126)
ORDER BY x_field 'f', 'p', 'i', 'a'
Vì vậy, kết quả sẽ là:
id x_field
-- -----
127 f
133 p
134 p
135 i
123 a
124 a
125 a
129 a
Cú pháp hợp lệ nhưng khi tôi thực hiện truy vấn, nó không bao giờ trả về bất kỳ kết quả nào, ngay cả khi tôi giới hạn nó ở 1 bản ghi. Có cách nào khác để làm điều này không?
Hãy coi trường x_ là kết quả kiểm tra và tôi cần xác thực tất cả các bản ghi nằm trong điều kiện. Tôi muốn sắp xếp các kết quả kiểm tra theo các giá trị không thành công, các giá trị đã vượt qua. Vì vậy, tôi có thể xác thực các giá trị không thành công trước và sau đó là các giá trị đã chuyển bằng cách sử dụng ORDER BY.
Những gì tôi không thể làm:
- GROUP BY, vì tôi cần trả về các giá trị bản ghi cụ thể
- WHERE x_field IN ('f', 'p', 'i', 'a'), tôi cần tất cả các giá trị vì tôi đang cố gắng sử dụng một truy vấn cho một số thử nghiệm xác thực. Và các giá trị x_field không theo thứ tự DESC / ASC
Sau khi viết câu hỏi này, tôi bắt đầu nghĩ rằng tôi cần phải suy nghĩ lại điều này, LOL!