Vấn đề là thế này:bất kỳ hàm tổng hợp nào "không quan tâm" đến phần còn lại của dòng của nó Nếu nó không phải là MIN mà là SUM, thì nó sẽ dễ nhìn hơn ...
Giải pháp là một chút khó khăn, bạn nên làm điều gì đó liên quan đến THAM GIA TRÁI với một bất đẳng thức:
SELECT u.username, l.timer AS intScore, l.hashtag
FROM
leaderboard l
INNER JOIN users u ON u.users_id = l.users_id
LEFT JOIN leaderboard l2 ON l.users_id = l2.users_id AND l2.timer < l.timer
WHERE
l2. users_id IS NULL
ORDER BY intScore ASC
Ý tưởng nhận được giá trị thấp nhất bằng cách bỏ qua hàm MIN và nhận toàn bộ hàng
Lọc theo ngày (hoặc bất kỳ cột / tiêu chí nào khác cho vấn đề đó) từ bảng thành tích, sẽ yêu cầu chúng tôi lọc từng bảng mà chúng tôi sử dụng Điều quan trọng là phải lọc bảng LEFT JOINed ở điều kiện ON, nếu không, chúng tôi sẽ loại bỏ hiệu ứng lọc NULL:
SET @date0 = '2018-01-01';
SELECT u.username, l.timer AS intScore, l.hashtag
FROM
leaderboard l
INNER JOIN users u ON u.users_id = l.users_id
LEFT JOIN leaderboard l2 ON l.users_id = l2.users_id AND l2.timer < l.timer AND l2.game_date >= @date0
WHERE
l.game_date >= @date0
l2.users_id IS NULL
ORDER BY intScore ASC
hy vọng nó sẽ giúp