【发布时间】: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
嘿,我想通过从 sql 中的一个表中获取 Max() 来生成代理键,我做了类似的事情
coalesce(max(INDVL_ID), 0) + ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
现在我必须在 mysql 中做同样的事情,所以问题是我无法替代 ROW_NUMBER() 任何人都有解决方案
【问题讨论】:
标签: mysql rank row-number
试试这个
SELECT @a:=@a+1 rownum,t.* FROM table t,(select @a:=0)v;
【讨论】:
这里的答案已经贬值了。请在 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
【讨论】: