【问题标题】:ROW_NUMBER() equivalent function in mysqlmysql 中的 ROW_NUMBER() 等效函数
【发布时间】:2018-08-06 23:57:53
【问题描述】:

嘿,我想通过从 sql 中的一个表中获取 Max() 来生成代理键,我做了类似的事情

coalesce(max(INDVL_ID), 0) + ROW_NUMBER() OVER (ORDER BY (SELECT NULL))

现在我必须在 mysql 中做同样的事情,所以问题是我无法替代 ROW_NUMBER() 任何人都有解决方案

【问题讨论】:

    标签: mysql rank row-number


    【解决方案1】:

    试试这个

    SELECT @a:=@a+1 rownum,t.* FROM table t,(select @a:=0)v;
    

    【讨论】:

      【解决方案2】:

      这里的答案已经贬值了。请在 MySQL 版本 8 中使用以下内容:

      ROW_NUMBER() OVER ( ORDER BY someField) AS 'row_number'
      

      示例:

      SELECT 
          ROW_NUMBER() OVER (ORDER BY s.Id) AS 'row_num', 
          s.product,
          s.title
      FROM supplies AS S
      

      【讨论】:

      • 仍在使用服务器版本:8.0.17 - MySQL 社区服务器 - GPL
      猜你喜欢
      • 2012-08-11
      • 2011-03-31
      • 2013-08-14
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-14
      相关资源
      最近更新 更多