Tôi cần truy xuất các hàng mới nhất có giá trị duy nhất từ bảng mysql của tôi. Bố cục bảng đơn giản là dấu thời gian (bây giờ()) và cột tên người dùng. Bảng sẽ nhận dữ liệu mới một vài lần trong một giây và tôi cần hàng mới nhất trong đó tên người dùng là duy nhất.Truy vấn MYSQL: dấu thời gian mới nhất + giá trị duy nhất trong 30 phút qua
SELECT MAX(timestamp) as timestamp, username
FROM bla
WHERE timestamp < (now() - interval 30 minute)
GROUP BY username
ORDER BY timestamp DESC
Dường như truy vấn này không trả lại các giá trị mới nhất, có lẽ vì nhóm đang làm một cái gì đó tôi không muốn ...
Vì vậy, về cơ bản bạn muốn hàng gần đây nhất cho mỗi người dùng đã được chèn trong vòng 30 phút qua? Ngoài ra, hãy lưu ý rằng 'dấu thời gian' là một từ dành riêng trong mysql. Bạn nên sử dụng tên khác cho trường hoặc "thoát" bằng dấu gạch chéo ngược. –
Có bạn là chính xác, cột của tôi sử dụng một tên khác cho giá trị dấu thời gian này chỉ là một ví dụ :) cảm ơn cho tip anyway! – HyperDevil