1.例如,我们新建一张学生成绩表。
2.插入一些测试数据。
3.例如我们需要查询每个科目不同的分数,这时候可以用到distinct:
4.但是我们把需求再加一点,需要查询每个科目排名第一的学生信息,这时候就需要用到partition by:
PS:MySQL5.6不支持partition by
此时我们发现,并且第一的小明同学的英语成绩没有被查询出来,接着优化:
以SQL Server和Oracle为例。
Oracle:
语法:
select * from 表名 where rownum<=1
SQL Server:
语法:
select top 1 * from 表名
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)