SELECT
case when @v <> _apply.PATIENT_ID then @r :=1 else @r :=@r + 1 end AS row_num_v_,
case when @v <> _apply.PATIENT_ID then @v := _apply.PATIENT_ID else @v end AS row_num_v,
_apply.ID,
_apply.MEDICAL_CARD_NO,
_apply.EXPERT_RESOURCE_ID,
_apply.PATIENT_ID,
_apply.DEPT_ID,
_apply.REG_DATE,
_apply.COMPANY_ID
FROM
reg_apply _apply,
(SELECT @r := 0) b,
(SELECT @v := -1) bv
ORDER BY
_apply.PATIENT_ID,
_apply.REG_DATE DESC

mysql中没有row_number() over,可以使用曲线救国的方法来解决。

1、我们先按要分组的字段排序。

2、我们定义两个变量一个@r作为行号,@v作为分组号。然后业务表链接这两个字段。

3、case 分组号和当前的要分组的字段比较。

4、上面的两个case的位置不能变,否者就会失效

mysql 分组加行号的更多相关文章

  1. MySQL增加行号rownum

    select * from ( select @rownum:=@rownum+1 AS rownum, app_t.* from ( select * from app_custom where 1 ...

  2. Oracle和MySQL分组查询GROUP BY

    Oracle和MySQL分组查询GROUP BY 真题1.Oracle和MySQL中的分组(GROUP BY)有什么区别? 答案:Oracle对于GROUP BY是严格的,所有要SELECT出来的字段 ...

  3. 怎么在SQL查询的结果里加行号?

    怎么在SQL查询的结果里加行号? 学习了:https://zhidao.baidu.com/question/91188037.html mysql : ) as rowNo From a, () ) ...

  4. vim 加行号 和取消行号

    :set nu #是加行号 :set nonu #是去掉行号

  5. jquery plugins —— datatables 增加行号

    table = $("#Table").DataTable({ "rowCallback": function (row, data, dataIndex) { ...

  6. mysql 取得行号后再排序

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

  7. vi命令加行号查找替换等命令

    一.加行号           : set nu二.vi查找:    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,              ...

  8. mysql 分组和聚合函数

    mysql 分组和聚合函数 Mysql 聚集函数有5个: 1.COUNT() 记录个数(count(1),count(*)统计表中行数,count(列名)统计列中非null数) 2.MAX() 最大值 ...

  9. mysql 分组内 排序

    mysql 分组内 排序 类似于 sqlserver over partition by   因为mysql中木有sqlserver over partition by这个函数,要从sqlserver ...

随机推荐

  1. Mybatis通用分页

    分页分为真分页和假分页,而 MyBatis 本身没有提供基于数据库方言的分页功能,而是基于 JDBC 的游标分页,很容易出现性能问题.网上提供的一个解决方案感觉还不错,是基于 MyBatis 本身的插 ...

  2. [转载]Redis后台启动

    FROM: http://www.art-coder.com/2011/12/01/how-to-run-redis-server-as-daemon/ How to run Redis server ...

  3. zabbix通过snmp监控windows主机

    1.开启Windows的snmp功能 2.配置snmp服务 设置snmp服务社区名称及允许的主机,设置完成后重启snmp服务 3.在zabbix server上测试 测试需要使用命令snmpwalk, ...

  4. linux命令之------vmstat使用

    在linux命令中,vmstat是个经常用到的分析系统性能的命令之一,主要有两个参数:一个是采样频率,一个是采样的次数.如:vmstat   1  3,意思就是每隔1秒采样1次,总共采样3次. 统计次 ...

  5. STL学习笔记(string)

    动机 C++标准程序库中的string class使我们可以将string当做一个一般型别.我们可以像对待基本型别那样地复制.赋值和比较string, 再也不必但系内存是否足够.占用的内存实际长度等问 ...

  6. java事务处理全解析

    http://blog.csdn.net/huilangeliuxin/article/details/43446177

  7. 关于TCP/IP,这十个问题你都知道,就入门了!

    关于TCP/IP,必知必会的十个问题 本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养.   TCP/IP十个问题 一.TCP/IP模型 TCP/IP ...

  8. java网络爬虫----------简单抓取慕课网首页数据

    © 版权声明:本文为博主原创文章,转载请注明出处 一.分析 1.目标:抓取慕课网首页推荐课程的名称和描述信息 2.分析:浏览器F12分析得到,推荐课程的名称都放在class="course- ...

  9. 支付宝开放平台 配置RSA(SHA1)密钥 OpenSSL配置公钥私钥对

    进入到第一次配置支付宝支付服务了 配置支付宝服务,需要去支付宝的开放平台申请服务 需要设置一些参数 其中需要在后台设置配置RSA(SHA1)密钥(公钥(注意这个子读"yao")) ...

  10. Atitit.5gl 第五代语言编程语言 PROLOG教程  人工智能语言的标准 与实现

    Atitit.5gl 第五代语言编程语言 PROLOG教程  人工智能语言的标准 与实现 1. 第五代语言就是自然语言又被称为知识库语言或人工智能语言,1 2. 人工智能语言特点2 2.1. 试探法2 ...