Mysql——分组排序加序列号
来源:互联网 发布:知乎便宜的女生手链 编辑:程序博客网 时间:2024/05/20 15:40
CREATE TABLE IF NOT EXISTS `employee` ( `empid` int(11) DEFAULT NULL, `deptid` int(11) DEFAULT NULL, `salary` decimal(10,2) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `employee` (`empid`, `deptid`, `salary`) VALUES(1, 10, 5500.00),(2, 10, 4500.00),(3, 20, 1900.00),(4, 20, 4800.00),(5, 40, 6500.00),(6, 40, 14500.00),(7, 40, 44500.00),(8, 50, 6500.00),(9, 50, 7500.00);
<span style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 14px; line-height: 21px; white-space: pre; widows: auto;">是这样的我想实现新加一列代表每个部门的工资等级,比如</span><pre name="code" class="sql">+-------+--------+----------+| empid | deptid | salary |+-------+--------+----------+| 1 | 10 | 5500.00 || 2 | 10 | 4500.00 || 3 | 20 | 1900.00 || 4 | 20 | 4800.00 || 5 | 40 | 6500.00 || 6 | 40 | 14500.00 || 7 | 40 | 44500.00 || 8 | 50 | 6500.00 || 9 | 50 | 7500.00 |+-------+--------+----------+//实现下面结果empid deptid salary rank+-------+--------+----------+------+--------1 10 5500.00 12 10 4500.00 24 20 4800.00 13 20 1900.00 27 40 44500.00 16 40 14500.00 25 40 6500.00 39 50 7500.00 18 50 6500.00 2
SELECT empid,deptid,salary,rank FROM (SELECT *,@rownum:=@rownum+1 AS rownum,IF(@pa=ff.deptid,@rank:=@rank+1,@rank:=1) AS rank,@pa:=ff.deptid FROM (SELECT empid,deptid,salary FROM employee GROUP BY deptid,salary ORDER BY deptid ASC, salary DESC) ff,(SELECT @rank:=0,@rownum:=0,@pa=NULL) tt) result
0 0
- Mysql——分组排序加序列号
- mysql 分组排序显示序列号 row_number()
- mysql分组排序方案
- mysql分组排序查询
- mysql 分组排序
- mysql分组查询 排序
- mysql分组查询排序
- MySQL分组排序
- mysql分组排序
- mysql 分组排序
- mysql 分组排序
- mysql分组排序
- mysql实现分组排序
- mysql分组排序
- mysql排序分组
- mysql分组排序加序号(不用存储过程,就简简单单sql语句哦)
- MySql排序分组的方法
- mysql 分组后再排序
- iOS 动画Animation - 6 - 2:实战练习之淘宝购物车动画解析
- Tribon线型光顺使用技巧
- Android Studio调试功能使用总结
- 2016/4/24
- 剑指offer--从尾到头打印链表
- Mysql——分组排序加序列号
- C/C++内存泄漏及检测
- 策略模式
- SAE中创建数据表
- IOS设计模式之装饰器模式
- Linux用户配置文件和管理文件
- gson相关封装解析
- 如何将二进制转换为八进制、十进制、十六进制
- Tribon建工程大致过程