主要思想是:
id name count_n
1 'a' 3
2 'a' 3
3 'a' 3
4 'b' 2
5 'b' 2
我希望得到count_n
这样:
id name count_n
1 'a' 1
2 'a' 2
3 'a' 3
4 'b' 1
5 'b' 2
我该怎么做?
答案 0 :(得分:1)
您可以使用变量:
SELECT id, name,
@seq := IF(@n = name, @seq+1,
IF(@n := name, 1, 1)) AS count_n
FROM mytable
CROSS JOIN (SELECT @seq := 0, @n := '') AS v
ORDER BY id