基础数据:
select * from sqldb.user_entry_log
1 MySQL分组后添加行号
MySQL中,给数据分组、然后给每组中的数据添加行号。注意:group by分组后,只能取出第一条记录,所以这里的分组,直接使用order by对排序关键字进行排序,间接完成了分组。
select
case
when @pre_user_id = user_id then @row_number := @row_number + 1
else @row_number := 1
end as rowNumber,@pre_user_id := user_id
user_id,entry_time
from
(select user_id,entry_time from (select * from sqldb.user_entry_log order by user_id) t) a,
(select @row_number := 0,@pre_user_id := '') b