mysql - 行号
1. 初始化数据 - 列唯一
DROP TABLE IF EXISTS `sales`; CREATE TABLE `sales` (
`empid` VARCHAR(10) NOT NULL,
`mgrid` VARCHAR(10) NOT NULL,
`qty` INT(11) NOT NULL,
PRIMARY KEY (`empid`)
) ENGINE=INNODB DEFAULT CHARSET=utf8; /*Data for the table `sales` */ INSERT INTO `sales`(`empid`,`mgrid`,`qty`) VALUES ('A','Z',300),('B','X',100),('C','X',200),('D','Y',200),('E','Z',250),('F','Z',300),('G','X',100),('H','Y',150),('I','X',250),('J','Z',100),('K','Y',200);

2. 查询 - 列唯一
SELECT empid,(
SELECT COUNT(*) FROM sales T1 WHERE T1.empid <= T2.empid
) AS rownum
FROM sales T2;
运行结果:

3. 按照qty和empid顺序生成行号 - 列唯一
SELECT empid,qty,(
SELECT COUNT(*) FROM sales T1 WHERE T1.qty < T2.qty OR (T1.qty=T2.qty AND T1.empid <= T2.empid)
) AS rownum
FROM sales T2
ORDER BY qty,empid;
运行结果:

4. 初始化数据 - 列重复
CREATE TABLE `t` (
`a` CHAR (3)
);
INSERT INTO `t` (`a`) VALUES('X');
INSERT INTO `t` (`a`) VALUES('X');
INSERT INTO `t` (`a`) VALUES('X');
INSERT INTO `t` (`a`) VALUES('Y');
INSERT INTO `t` (`a`) VALUES('Y');
INSERT INTO `t` (`a`) VALUES('Z');

5. 查询 - 列重复
SELECT n.a,n.a+smaller AS rownum, C.a FROM(
SELECT a, COUNT(*) AS countt, (
SELECT COUNT(*) FROM t AS B WHERE B.a < A.a
) AS smaller
FROM t AS A
GROUP BY a
) AS C, nums AS n
WHERE n.a <= countt
运行结果:

mysql - 行号的更多相关文章
- mysql 行号 获取指定行数据
mysql 行号的实现 Select id,(@rowNum:=@rowNum+1) as rowNo From first,(Select (@rowNum :=0) ) bOrder by fir ...
- MYSQL行号
mysql 实现行号的方法——如何获取当前记录所在行号 - senly - 博客园http://www.cnblogs.com/xinlei/archive/2011/12/16/2290349.ht ...
- MySQL 行号(类似SQLServer的row_number())
Select ID,(@rowNum:=@rowNum+1) as RowNo From a,(Select (@rowNum :=0) ) b
- Mysql编辑工具中使用(Navicat查询结果显示行号)
Mysql编辑工具中使用(Navicat查询结果显示行号) as rownum,a.roleId ) t where a.roleId='admin';
- mysql 取得行号后再排序
一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...
- mysql 查询结果显示行号
mysql 查询时,不像oracle那样,可以直接用 rownum 显示结果行号. 可以用定义用户变量来实现 set @myrnum = 0; select (@myrnum := @myrnum + ...
- MySQL查询获取行号rownum
MySQL中可以使用变量产生行号,下面是2个简单例子: 使用工具:MySQL Workbench 说明:表heyf_10中字段,empid(员工工号).deptid(部门编号).salary(薪资): ...
- MYSQL获得查询记录的行号
对于获得查询记录的行号这一功能,Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的ROWNUM,MS SQL Server 则在 2005 版本中提供了ROW_NUMBER()函数. ...
- mysql 显示行号,以及分组排序
建表: CREATE TABLE `my_tb` ( `id` ) NOT NULL AUTO_INCREMENT, `parent_code` ) DEFAULT NULL, `code` ) DE ...
随机推荐
- Python变量、数据类型6
1.Python变量 变量,即代表某个value的名字. 变量的值存储在内存中,这意味着在创建变量时会在内存中开辟一个空间. !!!即值并没有保存在变量中,它们保存在计算机内存的深处,被变量引用.所以 ...
- linux iftop流量查看工具的安装与使用
1.安装依赖包yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel 2.下载iftop wget http://www ...
- JS(去掉前后空格或去掉所有空格)的用法 推荐使用jquery 方法
说明: 如果使用jQuery直接使用$.trim(str)方法即可,str表示要去掉前后所有空格的字符串. 推荐 1. 去掉字符串前后所有空格: 代码如下: function Tri ...
- C语言中 *.c和*.h文件的区别!
C语言中 *.c和*.h文件的区别! http://blog.163.com/jiaoruijun07@126/blog/static/68943278201042064246409/ ...
- linux库列表
SDL库 curses openssl zlib library curl library GNU Readline library
- Nginx php-fpm php mysql
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm ...
- [linux] Nginx编译安装错误error: the HTTP rewrite module requires the PCRE library
nginx编译错误: 执行如下命令安装缺少的文件即可
- U3D外包、Unreal4外包、VR外包就找北京动点飞扬软件
北京动点软件长年承接Unity3D(U3D外包)项目,我们制作各类型VR/AR游戏,虚拟现实,增强现实项目! 品质保证,售后完备. 联系请加QQ:372900288 电话:13911652504 我 ...
- div+css样式
Div+Css 随着页面上的需求变大,许多的东西不再使用单纯的图片.按钮.文字,而是通过Div+Css来实现按钮,公司的需求就是这样,一直在弄这个模块,顺便的总结一下 列如下面的页面都是通过div+c ...
- @Override报错
仔细看了下项目 , 是因为有人把project的信息传上来了 , 使用编译的JDK变成了1.5(难道是因为他的1.8的版本我没有 ?) , 右键项目, 选property , 把compiler变成1 ...