Mysql:实现row_number分组排序功能
提示
mysql8.0已经实现了窗口分析函数,可以直接使用了,8.0以前的版本,需要手动写的,这里简单介绍如何写;
for example
userID | logindate
1000 2014-01-10
1000 2014-01-11
1000 2014-02-01
1000 2014-02-02
1001 2014-02-01
1001 2014-02-02
1001 2014-02-03
1001 2014-02-04
1001 2014-02-05
1002 2014-02-01
1002 2014-02-03
1002 2014-02-05
解决办法
MySQL 查询
set @row=0 ;
set @mid='' COLLATE utf8_unicode_ci;
SELECT userid, logindate,
case when @mid = userid then @row:=@row+1 else @row:=1 end rownum,
@mid:=userid
FROM users_logindate
order by userid,logindate desc

参考
Mysql:实现rownumber分组排序功能木奶牛_新浪博客
sql - ROW_NUMBER() in MySQL - Stack Overflow
文章转载自SQL数据分析,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




