set @a=0; set @rn = 1; SELECT t.a,t.b,t.c,t.rn from( SELECT t.*,case WHEN @a = a THEN @rn := @rn + 1 ELSE @rn := 1 END as rn ,@a := t.a aa from( SELECT 1 a,2 b,1 c UNION SELECT 1 a, 3 b,2 c union SELECT 1 a, 6 b,3 c union SELECT 1 a, 5 b,4 c union SELECT 2 a,2 b,5 c UNION SELECT 2 a, 3 b,6 c union SELECT 2 a, 6 b,7 c union SELECT 2 a, 5 b,8 c ) t ORDER BY t.a,t.b DESC ) t where t.rn > 1
相关文章
- Oracle-left join两表关联只取B表匹配到的第一条记录【over partition by(分组后对组内数据排序)】
- devexpress表格gridcontrol实现分组,并根据分组计算总计及平均值
- stl实现结构体排序关键语法要点(sort)
- mysql+php实现选课系统中遇到的问题及解决方法
- 判断一颗二叉树是否是二叉排序树(C/C++递归实现)
- Mysql 的InnoDB事务方面的 多版本并发控制如何实现 MVCC
- [MySQL] MVCC 多版本并发控制实现的事务
- Java8 list集合过滤/分组/排序/去重/求和/根据字段获取列等处理方式
- MySQL 按日期 group by 实现
- Java实现预排序