Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按id和日期分组时获取id计数_Mysql_Group By_Subquery - Fatal编程技术网

Mysql 按id和日期分组时获取id计数

Mysql 按id和日期分组时获取id计数,mysql,group-by,subquery,Mysql,Group By,Subquery,目前,我有一个包含3列的表,其中包含id,单击和日期。每个id都有一个条目,每个月的每一天都有点击,在日期列中的格式类似于“20180420”,比如2018年4月20日 SELECT id, month(date), COUNT(id) FROM mydb WHERE (date >= 20180101 AND date < 20180424) clicks > 0 GROUP BY id, MONTH(date); 选择 身份证件 月份(日期),

目前,我有一个包含3列的表,其中包含
id
单击
日期
。每个id都有一个条目,每个月的每一天都有点击,在日期列中的格式类似于“20180420”,比如2018年4月20日

SELECT 
   id,
   month(date),
   COUNT(id) 
FROM mydb 
WHERE (date >= 20180101 AND date < 20180424) clicks > 0
GROUP BY id, MONTH(date); 
选择
身份证件
月份(日期),
计数(id)
来自mydb
其中(日期>=20180101,日期<20180424)点击>0
按id分组,月份(日期);
我运行这个查询是为了得到这个id是否每个月点击次数超过一次,我想做一些类似的事情来计算每个id有多少个月点击次数超过一次,但是我没有得到正确的结果

我缺少一些基本的东西吗?
注意:我使用的是MySQL 5.6,我想日期是以varchar的形式存储的,如果是这样的话,那么就把字符串转换成日期。试试这个:

SELECT MONTH(STR_TO_DATE(A.date,'%y%m%d')) MONTH, COUNT(*) NUMBER_OF_CLICKS
FROM mydb A
WHERE STR_TO_DATE(A.date,'%y%m%d') BETWEEN STR_TO_DATE('20180101','%y%m%d') AND CURRENT_DATE
GROUP BY 1
ORDER BY 1 DESC;

实际上,我使用mysql中的MONTH()函数,但我主要担心的是,计数没有正确显示超过0的ID的数量。请为您的问题添加示例和预期数据。不过,我找到了正确的解决方案。我需要创建一个子查询,因为我毕竟想要分组。谢谢你的时间