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. Javascript 中的 && 和 || 使用小结

    准备两个对象用于下面的讨论. var alice = { name: "alice", toString: function () { return this.name; } }; ...

  2. 一些上流的CSS3图片样式

    直接在图片元素上直接应用CSS3 inset box-shadow 或 border-radius时,浏览器并不能完美的渲染它们.不过,如果把这个图片用作背景图,你就可以可以给它添加任何样式了,浏览器 ...

  3. 论文笔记之:Co-saliency Detection via A Self-paced Multiple-instance Learning Framework

    Co-saliency Detection via A Self-paced Multiple-instance Learning Framework  T-PAMI  2016  摘要:Co-sal ...

  4. locate无法open mlocate.db

    # locate xxxx locate: can not open () `/var/lib/mlocate/mlocate.db': No such file or directory 如果出现此 ...

  5. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十四)之漏掉的客服消息

    前言 不知不觉已经十四篇了,其实已经没有什么可写了.但是突然发现layim中带的客服功能没有用到.于是乎,抽点时间完成吧.其实之前的工作已经把客服功能完成了一大半,剩下的我们稍微调整即可.今天的演示我 ...

  6. jq+jsonp+ajax解决跨域问题

    Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料. 关于Jsonp更详细的资料请参考http://baike.baidu.com/ ...

  7. SQLServer2012中用于记录数据操作时刻的附加字段使用datetime2(3)就可以了

    datetime2(3)精确到毫秒(听说),约等于2005时代的datetime类型.实际上后者是精确到3.33毫秒(也是听说). ) = GETDATE(); ) = GETDATE(); ) = ...

  8. 关于动态生成data组件

    /*! * WeX5 v3 (http://www.justep.com) * Copyright 2015 Justep, Inc. * Licensed under Apache License, ...

  9. case when完成不同条件的显示

    好长时间不写sql了,今天群里问了一个问题: 我想得到的就是  2,3,4,就是低,5,6,7,8,9就是中,10,11....就是高,现在只知道zpcs,怎么得到高中低? case 写的,decod ...

  10. 5、Linux 系统基本文件管理

    1.Linux系统目录结构 /etc    ----> 配置文件   /boot  ----> 引导分区/挂载点, boot loader 的静态链接文件,存放与Linux启动相关的程序 ...