如何按一个表格分组,按2列分组?

时间:2015-10-29 19:07:52

标签: mysql sql

我有一个像这样结构的表:

table_id | user_id |   text   | number_id | start_time
1            1        gdsgds       8        2015-10-11 07:14:44
2            2        vcxvc        8        2015-10-11 07:20:44
3            4        ewgs         8        2015-10-12 09:19:22
4            7        vvvcc        8        2015-10-13 18:12:23
etc.

我需要编写一个查询,它会返回每个数字每天显示的文本数量。到目前为止,我有以下查询:

SELECT  * 
FROM 
(
    SELECT  DATEDIFF(now(), start_time) AS days_ago, 
            COUNT(table_id)             AS num_texts 
    FROM    TABLE 
    GROUP BY DATE(start_time)
) 
WHERE 
(
    days_ago <= 7 
AND days_ago > 0
)

并且此查询返回一个表:

days_ago  |  num_texts
   0      |     2
   1      |     3
   2      |     4
   3      |     1

并且工作得很好,但是我需要将它除以number_id ...我该怎么做?

2 个答案:

答案 0 :(得分:2)

将列号number_id添加到子查询中的select和group by。

答案 1 :(得分:1)

SELECT  * 
FROM 
(
    SELECT  DATEDIFF(now(), start_time) AS days_ago, 
            number_id, 
            COUNT(table_id)             AS num_texts 
    FROM    TABLE 
    GROUP BY DATE(start_time), number_id 
) 
WHERE 
    days_ago <= 7 
AND days_ago > 0