如何在MySQL中向一个sql视图添加多个序列号

如何在MySQL中向一个sql视图添加多个序列号,sql,mysql,sequence,Sql,Mysql,Sequence,我想做的是在MySQL中的一个sql视图中添加几个序列号。考虑 下表为示例: Folder 1, File 1 Folder 1, File 2 Folder 2, File 3 Folder 3, File 4 Folder 3, File 5 Folder 3, File 6 我希望得到的结果是: 1, Folder 1, File 1 2, Folder 1, File 2 1, Folder 2, File 3 1, Folder 3, File 4 2, Folder 3, File

我想做的是在MySQL中的一个sql视图中添加几个序列号。考虑 下表为示例:

Folder 1, File 1
Folder 1, File 2
Folder 2, File 3
Folder 3, File 4
Folder 3, File 5
Folder 3, File 6
我希望得到的结果是:

1, Folder 1, File 1
2, Folder 1, File 2
1, Folder 2, File 3
1, Folder 3, File 4
2, Folder 3, File 5
3, Folder 3, File 6
我知道如何使用变量将单个序列号添加到整个视图中,但我不知道如何解决我的具体问题。希望有人能帮我

非常感谢

干杯,
Johannes

您需要两个变量,而不是使用一个变量,只要组发生更改,就重置行编号

select folder, file,
  @r = case when @g = folder then @r+1 else 1 end SequenceNo,
  @g := folder
from (select @g:=null) g
cross join tbl
order by folder, file