+2
Tìm ra số lớn nhất và không trùng trong db
Laravel
Bài toán của mình như sau:
VD: Mỗi ngày 1 user sẽ đăng kí 1 số tùy chọn từ 1-10. Cuối ngày, tìm ra user có số lớn nhất và không trùng.
Bảng user_data:
ID | Name | Number |
---|---|---|
1 | A | 1 |
2 | B | 10 |
3 | C | 8 |
4 | D | 3 |
5 | E | 10 |
6 | F | 3 |
=> kết quả: user có ID = 3
Help me. Cảm ơn!
Thêm một bình luận
3 CÂU TRẢ LỜI
+5
SELECT `id`,`name`,`number` FROM `user_data` GROUP BY `number` HAVING COUNT(`number`) = 1 ORDER BY `number` DESC LIMIT 1
lấy userID nữa em ei!
+2
Theo mình nghĩ thì sẽ cần sử dụng câu truy vấn lồng nhau.
- Trước hết sử dụng GroupBy 'number' để xem giá trị lớn nhất xuất hiện 1 lần.
SELECT MAX(number)
FROM user_data
GROUP BY number
HAVING COUNT(ID) = 1;
- Sau đó select ra ID của user có number = max thôi.
SELECT ID
FROM user_data
WHERE number = (max);
Mong là có thể giúp được bạn!
cảm ơn bạn đã góp ý