1.创建表

CREATE TABLE `heyf_t10` (
`empid` int(11) DEFAULT NULL,
`deptid` int(11) DEFAULT NULL,
`salary` decimal(10,2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.添加数据

INSERT INTO `heyf_t10` VALUES (1, 10, 5500.00);
INSERT INTO `heyf_t10` VALUES (2, 10, 4500.00);
INSERT INTO `heyf_t10` VALUES (3, 20, 1900.00);
INSERT INTO `heyf_t10` VALUES (4, 20, 4800.00);
INSERT INTO `heyf_t10` VALUES (5, 40, 6500.00);
INSERT INTO `heyf_t10` VALUES (6, 40, 14500.00);
INSERT INTO `heyf_t10` VALUES (7, 40, 44500.00);
INSERT INTO `heyf_t10` VALUES (8, 50, 6500.00);
INSERT INTO `heyf_t10` VALUES (9, 50, 7500.00);

3.按着deptid分组,empid排序,去前两行

select empid,deptid,salary,rank from (
select b.empid,b.deptid,b.salary,@rownum:=@rownum+1 ,
if(@pdept=b.deptid,@rank:=@rank+1,@rank:=1) as rank,
@pdept:=b.deptid
from (
select empid,deptid,salary from heyf_t10 order by empid
) b ,(select @rownum :=0 , @pdept := null ,@rank:=0) c ) result
having rank <3;

mysql 实现 sqlserver的row_number over() 方法的更多相关文章

  1. SQL中EXCEPT函数在 Mysql 和 sqlServer 中的替代方法

    示例摘自:极客代码:http://wiki.jikexueyuan.com/project/sql/useful-functions/except-clause.html EXCEPT 子句 EXCE ...

  2. Data Base Mysql迁移到SqlServer 2008工具使用方法

    Data Base  Mysql迁移到SqlServer 2008工具使用方法 一.下载及安装: 二.

  3. MySQL与SQLServer的区别(一千条语句)

    ER图.分页.差异.Java连接MySQL SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 ...

  4. SqlServer 经常使用分页方法总结

    SqlServer 经常使用分页方法总结 以下演示样例总结了,SqlServer数据库 经常使用分页方法,仅供学习參考 A. 使用 RowNumber 和 Between And 组合分页: /*** ...

  5. Oracle、MySql、SQLServer数据分页查询

    看过此博文后Oracle.MySql.SQLServer 数据分页查询,在根据公司的RegionRes表格做出了 SQLserver的分页查询语句: 别名.字段 FROM( SELECT row_nu ...

  6. MySql、SqlServer、Oracle 三种数据库查询分页方式

    SQL Server关于分页 SQL 的资料许多,有的使用存储过程,有的使用游标.本人不喜欢使用游标,我觉得它耗资.效率低:使用存储过程是个不错的选择,因为存储过程是颠末预编译的,执行效率高,也更灵活 ...

  7. MySql与SqlServer的一些常用用法的差别

    MySql与SqlServer的一些常用用法的差别 本文为转载 本文将主要列出MySql与SqlServer不同的地方,且以常用的存储过程的相关内容为主. 1. 标识符限定符 SqlServer [] ...

  8. Java连接数据库(mysql,sqlserver)

    犹记当年为了使用java程序连接mysql数据库花费一天时间,最后发现是没有导入外包,如今看来真的发现自己那时有点二,也怪我使用的教科书上没有说明这点(强行甩锅,哈哈).今天分享出来,,希望后者不因为 ...

  9. spring boot 配置双数据源mysql、sqlServer

    背景:原来一直都是使用mysql数据库,在application.properties 中配置数据库信息 spring.datasource.url=jdbc:mysql://xxxx/test sp ...

随机推荐

  1. 解决angular ui-grid 中添加input date修改日期

    需求:在angular ui-grid列表中添加一个日期组件来修改时间. 在angular ui-grid添加了一个html5 date input,后端返回的数据是YYYY-MM-DD,比如:201 ...

  2. 安装weblogic

    附:wls1036_generic.jar 链接:https://pan.baidu.com/s/1W5g-SHeKL96yrOeDKJJoxw 提取码:vxft 注:以下安装步骤是一个前辈整理的,我 ...

  3. 还能不能愉快地起一个web服务啦?——1st Step!白话http和代码交互的那点儿事儿~

    学写python的时候,我们多多少少都接触到了web程序,然而你有没有想过,当浏览器发送了一个http请求时,等待接收这个请求的后端代码是一种什么样的思想感情? 就像下面这张图里画的一样,后端也许是一 ...

  4. matlab 三维激光雷达点云的地面与障碍物检测

    基于激光雷达的地面与障碍物检测 这个例子告诉我们如何去检测地平面并且找到三维LIDAR数据中与车相近的障碍物. 这个过程能够方便我们对汽车导航的可行驶区域规划. 注:每一帧的雷达属于都被存储为三维的雷 ...

  5. FPM一:简单的road map(GAF)

    首先要有个简单的认识: 1.FPM支持的几种UI配置界面接口: Object Instance Floorplan (OIF) Overview Page Floorplan (OVP) Guided ...

  6. idea 中add configuration

    记住:点击“+”号配置tomcat 第一步当然先得建一个web项目 1.file -> new -> project -Next -> Finish -项目建好了接下来就是配置了 - ...

  7. Linux内存管理(一)

    Linux内存管理之一:基本概念篇 物理地址.线性地址(虚拟地址)和逻辑地址:阐述段式管理和页式管理基本概念:Linux操作系统内存管理和虚拟内存概念:为内核开发做一个基础铺垫. 内存是linux内核 ...

  8. keras-yolo3-master

    logs/000/trained_weights_final.h5 放置训练完的权重 keras-yolo3-master Keras/Tensorflow+python+yolo3训练自己的数据集 ...

  9. JavaScript中的classList的使用

    动态控制元素的样式 style[样式名] = 值 增删改class的方式 classList下的方法 增加 class — node.classList.add() 删除 class — node.c ...

  10. Go 基础 坑

    1.字符串空为"" 2. 传递的数组是原数组的拷贝,所以是无法通过传递数组的方法去修改原地址的数据的.在GO语言中除了切片(slice).集合(map).通道(channel)和接 ...