ZBLOG

mysql 5.7 实现分组row_number

在 MySQL 5.7 中,可以使用子查询和变量来实现分组 row_number。以下是一个示例查询:

SELECT 
    t.id, 
    t.name, 
    t.grade, 
    (SELECT @rownum:=@rownum+1 FROM (SELECT @rownum:=0) r WHERE t.grade = r.grade) as row_num
FROM students t
ORDER BY t.grade DESC, t.name ASC;

该查询会将 students 表按照 grade 降序排序,然后按照 name 升序排序,并对同一 grade 的记录进行分组并计算行号。在子查询中使用变量 @rownum 来计算行号,并将其赋值给 row_num 列。

注意:在执行该查询之前,需要先执行以下命令来启用变量:

SET @rownum := 0;

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1886

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?