繁体   English   中英

如何对一个表中的元素进行分组并按2列对其进行分组?

[英]how can I group by elements from one table and group by it by 2 columns?

我有一个具有如下结构的表:

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 ...我该怎么做?

将列number_id添加到选择并在子查询中进行分组。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM