ROW_NUMBER()等效于mysql中的功能

时间:2018-02-27 10:54:55

标签: mysql rank row-number

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

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

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

2 个答案:

答案 0 :(得分:2)

试试这个

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

答案 1 :(得分:0)

这里的答案已被贬值。请在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