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 - 行号的更多相关文章

  1. mysql 行号 获取指定行数据

    mysql 行号的实现 Select id,(@rowNum:=@rowNum+1) as rowNo From first,(Select (@rowNum :=0) ) bOrder by fir ...

  2. MYSQL行号

    mysql 实现行号的方法——如何获取当前记录所在行号 - senly - 博客园http://www.cnblogs.com/xinlei/archive/2011/12/16/2290349.ht ...

  3. MySQL 行号(类似SQLServer的row_number())

    Select ID,(@rowNum:=@rowNum+1) as RowNo From a,(Select (@rowNum :=0) ) b

  4. Mysql编辑工具中使用(Navicat查询结果显示行号)

    Mysql编辑工具中使用(Navicat查询结果显示行号) as rownum,a.roleId ) t where a.roleId='admin';

  5. mysql 取得行号后再排序

    一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...

  6. mysql 查询结果显示行号

    mysql 查询时,不像oracle那样,可以直接用 rownum 显示结果行号. 可以用定义用户变量来实现 set @myrnum = 0; select (@myrnum := @myrnum + ...

  7. MySQL查询获取行号rownum

    MySQL中可以使用变量产生行号,下面是2个简单例子: 使用工具:MySQL Workbench 说明:表heyf_10中字段,empid(员工工号).deptid(部门编号).salary(薪资): ...

  8. MYSQL获得查询记录的行号

    对于获得查询记录的行号这一功能,Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的ROWNUM,MS SQL Server 则在 2005 版本中提供了ROW_NUMBER()函数. ...

  9. mysql 显示行号,以及分组排序

    建表: CREATE TABLE `my_tb` ( `id` ) NOT NULL AUTO_INCREMENT, `parent_code` ) DEFAULT NULL, `code` ) DE ...

随机推荐

  1. Sprint第二个冲刺(第十一天)

    看板: 燃尽图:

  2. Android double输出时保留两位小数

    方法1,在代码中操作 this.totalTextview = (TextView) findViewById(R.id.package_total_money); double decimalBal ...

  3. 第八课,T语言功能和参数(版本5.0)

    功能的理解 功能是TC移动项目应用的基本模块,通过对功能模块的调用实现特定的功能.TC综合开发工具中的功能相当于其它高级语言的子程序,在其他高级语言中,比如C,C++中,称为函数.允许用户建立自己定义 ...

  4. 1、C#入门第一课

    C# 读作C Sharp,所以程序文件的扩展名为.cs 新建项目-窗体应用程序 所谓的Visual C#就是指的可视化编程,主要在设计窗口布置好自己的控件(一些具有一定功能的小部件,例如如可以点击的按 ...

  5. 关于Java的软引用及弱引用

    概念介绍   1   Reference      描述一个对象的引用.其内部维持一个queue引用,用于跟踪对象的回收情况,当对象被回收时将当前reference引用入队   2   SoftRef ...

  6. 【递归】斐波那契数列第n个数

    递归.递推计算斐波那契数列第n项的值: #include <stdio.h> long long fact(int n); //[递推]计算波那契数列第n个数 long long fact ...

  7. eclipse导入github项目

    以jeesite为例, github上面的项目大都是基于git方式进行版本控制以及使用maven构建的项目. 1 使用时,需先用eclipse的以git方式从github上下载代码. 下载后得到mav ...

  8. gulp.js简单操作

    一.安装gulp 1.深入设置任务之前,需先安装gulp: $ npm install gulp -g 2.这会将gulp安装到全域环境下,让你可以存取gulp的CLI.接著,需要在本地端的专案进行安 ...

  9. 浏览器收藏夹插件-Xmarks

    Xmarks 一一 一款简约实用的浏览器书签同步插件 首先还是想吐槽一下firefox的收藏夹同步功能,感觉不实用,密钥的长度如果不是存到手机或者别的终端,压根没办法实现同步. 而且还区分了,如果两台 ...

  10. 两个二进制数多少个位(bit)不同

    class Solution { public: /** * 获得两个整形二进制表达位数不同的数量 * * @param m 整数m * @param n 整数n * @return 整型 */ in ...