在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 a WHERE USERNAME = "ALAN"GROUP BY SUBJECT_ID
请帮忙,谢谢。
最佳答案
你可以在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 中的示例.
关于mysql - MYSQL 中的行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24106642/