例1:

. 有一张表结构如下

  • id是学号
  • course是学科名称

问题1:要查询出每一科最高分学生的学号,姓名,成绩和科目。在MySQL8之前主要是通过下面的方式来实现。

答案1:MySql 8之前的方法

答案2:使用窗口函数ROW_NUMBER

答案3 使用CTE方式

本文通过一个简单的例子介绍了MySQL新增的CTE和窗口函数来简化我们SQL开发的难度。关于具体的CTE和窗口函数的具体语法请查阅Mysql的官方文档。