MYSQL中的行数

时间:2014-06-08 13:31:14

标签: mysql sql

在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

请帮助,谢谢。

1 个答案:

答案 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中的示例。