Tôi muốn tìm các cách khác nhau để giải quyết một vấn đề thực tế về cuộc sống mà tôi có: hãy tưởng tượng có một cuộc thi hoặc trò chơi, trong đó người dùng thu thập điểm. Bạn phải tạo truy vấn để hiển thị danh sách người dùng có điểm "n" tốt nhất.Truy vấn SQL để lấy điểm "n" hàng đầu trong danh sách
Tôi đang làm ví dụ để làm rõ. Hãy nói rằng đây là bảng Users, với các điểm thu:
UserId - Points
1 - 100
2 - 75
3 - 50
4 - 50
5 - 50
6 - 25
Nếu tôi muốn 3 điểm đầu, kết quả sẽ là:
UserId - Points
1 - 100
2 - 75
3 - 50
4 - 50
5 - 50
này có thể được thực hiện trong một cái nhìn hay một thủ tục lưu trữ, như bạn muốn. Db mục tiêu của tôi là Sql Server. Thực ra tôi đã giải quyết vấn đề này, nhưng tôi nghĩ có nhiều cách khác nhau để có được kết quả ... nhanh hơn hoặc hiệu quả hơn tôi.
Tôi gặp vấn đề tương tự và cố gắng sử dụng MAX và sau đó tôi đọc trả lời và nhớ DENSE_RANK. Đã cứu tôi rất nhiều thời gian. – DataGirl