mysql实现类似rownumber()的效果
2012-01-09 19:44
363 查看
--Create test table create table tmp_test(empid int ,deptid int ,salary decimal(10,2) ); --Insert test data insert into tmp_test 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), (10,10,4800.00), (11,10,5800.00); --sql select empid,deptid,salary,rank from ( select heyf_tmp.empid,heyf_tmp.deptid,heyf_tmp.salary,@rownum:=@rownum+1, if(@pdept=heyf_tmp.deptid,@rank:=@rank+1,@rank:=1) as rank, @pdept:=heyf_tmp.deptid from ( select empid,deptid,salary from tmp_test order by deptid asc ,salary desc ) heyf_tmp ,(select @rownum :=0 , @pdept := null ,@rank:=0) a ) result where rank<=3
相关文章推荐
- MySQL实现类似Oracle的row_number效果
- mysql类似oracle的row_number实现
- MySql实现类似Oracle中Row_number功能
- MYSQL 存储过程实现类似ORACLE row_number 和 rank 的简单例子
- mysql: 实现row_number() over (partition by) 分组排序
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能优化
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能优化
- MySQL实现ROW_NUMBER()---(给查询平均成绩的结果加上名次)
- oracle函数dense_rank(),row_number(),connect_by_root(),start with connect by 用mysql如何实现
- mysql row number的实现
- mysql中如何实现row_number
- MySQL中row_number的实现
- MySQL实现Oracle的row_number()over(partition by)
- MYSQL 实现 MSSQL row_number() 类似的分组排序
- mysql实现oracle 分析函数row_number()over()
- mysql 实现 row_number和rank功能
- mysql 实现row_number() over(partition by ) 分组排序功能
- MYSQL-实现row_number() over(partition by ) 分组排序功能