目前,我的表格包含3列id
,clicks
和dates
。每个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的次数超过一次,并且我想做类似的事情,以获取每个ID多次点击多少个月的计数,但我不会&#39 ;得到正确的结果。
我错过了一些基本的东西吗?
P.S:我正在使用MySQL 5.6
答案 0 :(得分:0)
我猜日期存储为varchar,如果是,则将字符串转换为date。试试这个:
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;