mysql中row_number() over(partition by
时间: 2023-11-03 20:58:58 浏览: 222
row_number,根据多个字段过滤,partition by
mysql中的row_number() over(partition by column order by column)是一种用于分组排序的功能。它可以按照指定的列进行分组,并按照指定的列进行排序,在每个分组内为每行分配一个行号。
下面是一个使用row_number() over(partition by column order by column)的示例代码:
select * from (
select *, row_number() over(partition by class order by score desc) as row_num
from table_name
) as result
where row_num = 1
以上代码将根据class列对数据进行分组,并按照score列进行降序排序。然后,使用row_number()函数为每个分组内的行分配行号。最后,通过where子句选择行号为1的行,即每个分组内得分最高的行。
阅读全文