表结构
按照grp分组,按照num排序,每组取Top 3,输出结果如下:

源代码:
SELECT * FROM score AS t3
WHERE (
SELECT COUNT(*) FROM score AS t1
LEFT JOIN score AS t2
ON t1.grp = t2.grp AND t1.num < t2.num
WHERE t1.id = t3.id
) < 3
ORDER BY t3.grp ASC, num DESC
在where中可以通过子查询创造一个新的变量来过滤。
本文介绍了一种利用SQL子查询在特定条件下筛选数据的方法,具体为通过子查询生成一个变量来过滤数据,然后按照指定条件选择每组中的Top3项。此技术适用于数据分组、排序和复杂查询场景。
556

被折叠的 条评论
为什么被折叠?



