2011-02-07 68 views
2

什么,我想要做的就是几个序列号添加到MySQL的一个单独的SQL视图。考虑 下面的示例表:如何几个序列号添加到一个单独的SQL视图在MySQL

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 

我知道我可以使用变量一个单一的序列号添加到整个看法,但我不知道如何解决我的具体问题。希望有人能帮助我。

非常感谢!

干杯, 约翰内斯

回答

2

而不是使用一个单一的变量,你将需要两个,复位行编号每当组更改。

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 
+0

感谢您的解决方案! – zlajo 2011-02-07 12:30:19

相关问题