在mysql中,我得到了表" a"如下
ID USERNAME SUBJECT_ID
1 ALAN 1
2 ALAN 2
3 ALAN 3
4 ALAN 4
5 ALAN 5
6 JOHN 6
7 ALAN 7
8 JOHN 8
9 ALAN 9
我只想知道username = ALAN需要多少主题以及如何生成一个新的C列成为
ID USERNAME SUBJECT_ID C
1 ALAN 1 1
2 ALAN 2 2
3 ALAN 3 3
4 ALAN 4 4
5 ALAN 5 5
7 ALAN 7 6
9 ALAN 9 7
该列按USERNAME分组并生成行计数。如何查询并生成C字段?
我试过的查询,但我不知道如何生成" C" SELECT ID,USERNAME,SUBJECT_ID,C FROM WHERE USERNAME =" ALAN" GROUP BY SUBJECT_ID
请帮助,谢谢。
答案 0 :(得分:2)
你可以在mysql中使用行号,这样:
SELECT T1.*,@rownum := @rownum+1 as C
FROM TableName T1,(SELECT @rownum := 0) r
WHERE T1.Username LIKE '%ALAN%'
结果:
ID USERNAME SUBJECT_ID C
-----------------------------
1 ALAN 1 1
2 ALAN 2 2
3 ALAN 3 3
4 ALAN 4 4
5 ALAN 5 5
7 ALAN 7 6
9 ALAN 9 7
SQL Fiddle中的示例。