Truy vấn sau đây:
SELECT
year, id, rate
FROM h
WHERE year BETWEEN 2000 AND 2009
AND id IN (SELECT rid FROM table2)
GROUP BY id, year
ORDER BY id, rate DESC
sản lượng:
year id rate
2006 p01 8
2003 p01 7.4
2008 p01 6.8
2001 p01 5.9
2007 p01 5.3
2009 p01 4.4
2002 p01 3.9
2004 p01 3.5
2005 p01 2.1
2000 p01 0.8
2001 p02 12.5
2004 p02 12.4
2002 p02 12.2
2003 p02 10.3
2000 p02 8.7
2006 p02 4.6
2007 p02 3.3
Điều tôi muốn chỉ là 5 kết quả hàng đầu cho mỗi id:
2006 p01 8
2003 p01 7.4
2008 p01 6.8
2001 p01 5.9
2007 p01 5.3
2001 p02 12.5
2004 p02 12.4
2002 p02 12.2
2003 p02 10.3
2000 p02 8.7
Có cách nào để thực hiện việc này bằng cách sử dụng một số loại GIỚI HẠN như công cụ sửa đổi hoạt động trong NHÓM B BYNG KHÔNG?
LIMIT
mệnh đề. Dưới đây là một bài viết giải thích chi tiết vấn đề: Cách chọn hàng đầu tiên / tối thiểu / tối đa cho mỗi nhóm trong SQL Đó là một bài viết hay - anh ấy giới thiệu một giải pháp thanh lịch nhưng ngây thơ cho vấn đề "Top N mỗi nhóm", sau đó dần dần cải thiện nó