mysql实现类似rownumber()的效果

mysql实现类似rownumber()的效果–Createtesttablecreatetabletmp_test(empidint,deptidint,salarydecimal(10,2));–Inserttestdatainsertintotmp_testvalues(1,10,5500.00),(2,10,4500.00),(3,20,1900.00),(4,20,

大家好,又见面了,我是你们的朋友全栈君。 

--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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143701.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nmap命令扫描开放端口

    nmap命令扫描开放端口简单举例下,以下的场景,我使用了nmap命令场景1:使用树莓派但是没有显示器,这时候把树莓派接入局域网,通过使用nmap命令扫描局域网内的所有开放端口,分析扫描信息,从而得出树莓派的局域网ip,这时候就可以通过ip连上树莓派了场景2:nmap常被黑客用于分析服务器哪些端口开放,如果无聊我们也可以看下自己的服务器都开放了哪些端口安装nmap命令Mac上安装nmapbrewinst…

    2022年5月28日
    33
  • 《前端运维》一、Linux基础–05Shell运算符「建议收藏」

    今天我们来学习下Shell运算符,Shell跟其他的编程语言一样,也支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符那下面,我们就一一来学习一下这些运算符。

    2022年3月25日
    31
  • 配置本地DNS服务器地址「建议收藏」

    配置本地DNS服务器地址「建议收藏」PC端使用公共DNSWindows系统1.在电脑右下角的网络图标上单击鼠标右键可以看到”打开网络和共享中心”选项,点击进入设置2.点击左侧的”更改适配器设置”3.在选中的网络连接上单击鼠标右键,选择”属性”4.单击”网络”选项卡。在”此连接使用下列项目”下,选中”Internet协议版本4(TCP/IPv4)”,然后点击”属性”,或者直接双击”Internet协议版本4(TCP/IPv4)”5.勾选”使用下面的DNS服务地址”,然后在”首选DNS

    2022年5月7日
    250
  • RT-Thread零基础快速入门第7讲——FinSH控制台「建议收藏」

    RT-Thread零基础快速入门第7讲——FinSH控制台「建议收藏」目录一、前言源码链接二、FinSH控制台使用方法第一步:配置FinSH第二步:烧录程序并把串口连接到PC端第三步:打开xshell或者串口助手第四步:测试FinSH命令三、自定义FinSH命令自定义msh命令自定义C-Style命令和变量自定义命令重命名四、项目实战五、结束语一、前言本来我是打算先讲完RT-thread的内核,再讲设备和组件,但是考虑到后面很多地方都会用到FinSH控制台…

    2022年5月21日
    33
  • 在毕设中学习01——python、正态和标准正态分布、matlab数据文件导出

    在毕设中学习01——python、正态和标准正态分布、matlab数据文件导出在毕设中学习——卷积、python(0521)2022.5.21文章目录在毕设中学习——卷积、python(0521)正态分布标准正态分布matplotlib.pyplot画图Python中读取.m文件np.random.normal()正态分布numpy.random.normal(loc=0,scale=1e-2,size=shape)意义如下:参数loc(float):正态分布的均值,对应着这个分布的中心。loc=0说明这一个以Y轴为对称轴的正态分布,参数scale(float):

    2022年8月11日
    3
  • PAT_考试技巧[通俗易懂]

    1.坑点:爆int,请用longlong如1104SumofNumberSegments(20分)

    2022年4月11日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号