Tôi cần một truy vấn sẽ cho tôi kết quả là (a) giá cao nhất hoặc (b) giá có dấu thời gian cũ nhất. Trong mọi trường hợp, giá cả nên trump timestamp (tức là nếu một bản ghi có dấu thời gian thực sự cũ bởi giá cao hơn tất cả những người khác, nó phải luôn luôn trả lại kỷ lục với mức giá cao nhất)ĐẶT HÀNG theo nhiều điều kiện
Dưới đây là một vài tình huống:
id | price | date
1 | 5 | 2012-02-20 08:59:06
2 | 5 | 2012-02-20 09:59:06
3 | 7 | 2012-02-20 10:59:06
nên trở id 3 vì nó là mức giá cao nhất
id | price | date
1 | 5 | 2012-02-20 08:59:06
2 | 5 | 2012-02-20 09:59:06
3 | 5 | 2012-02-20 10:59:06
nên trả lại id 1 vì nó là lâu đời nhất
Trong truy vấn hiện tại của tôi tôi đang làm thứ là:
SELECT * FROM table ORDER BY price, date DESC LIMIT 1
Rất tiếc, truy vấn này không hoạt động như cách tôi đã nêu trên.
Nhờ sự giúp đỡ của bạn
bạn đã chỉ ra hai bộ dữ liệu giống hệt nhau, và yêu cầu kết quả khác nhau. Bạn có ý định có 2 truy vấn khác nhau không? nếu không, đó là kết quả chính xác? – Randy
tôi thấy không có sự khác biệt trong bộ dữ liệu của bạn do đó nó khá khó hiểu những gì bạn đang cố gắng để đạt được ... :) – zaphod1984
lý do tại sao nên trở lại ví dụ thứ 2 id 1? Bạn đã đề cập rằng giá phải luôn luôn đánh dấu thời gian. –