TITLE 表统计数据如下图:
SELECT NAME, COUNT(ID)
FROM TITLE
GROUP BY NAME
ORDER BY COUNT(ID) DESC
NAME COUNT(ID)
TEST4 13
TEST5 11
TEST2 11
TEST1 2
TEST3 1
获取所以不同的NAME的前10个ID数据,如下,TEST1取了2、TEST3取了1,其他超过10条的只取了前10条
SELECT * FROM (
SELECT T.*, (ROW_NUMBER() over (PARTITION BY NAME ORDER BY ID)) RN FROM TITLE T
) WHERE RN < 11
ID NAME RN
1 TEST1 1
4 TEST1 2
1 TEST2 1
5 TEST2 2
6 TEST2 3
7 TEST2 4
8 TEST2 5
9 TEST2 6
10 TEST2 7
11 TEST2 8
12 TEST2 9
13 TEST2 10
2 TEST3 1
2 TEST4 1
3 TEST4 2
4 TEST4 3
5 TEST4 4
6 TEST4 5
7 TEST4 6
8 TEST4 7
9 TEST4 8
10 TEST4 9
11 TEST4 10
3 TEST5 1
5 TEST5 2
6 TEST5 3
7 TEST5 4
8 TEST5 5
9 TEST5 6
10 TEST5 7
11 TEST5 8
12 TEST5 9
13 TEST5 10