我目前正在使用下面的行来获取日期
WHERE DATE (DateTime) BETWEEN '2016-12-19' AND '2016-12-23'
12/12/2016 09:31
- 这是日期和时间格式
但是从2014年开始,它一直在返回表格中的所有内容。
上面的语句似乎只在它的一个简短查询时起作用,但是当我向SQL查询添加几行时它似乎不起作用,它提取表中的所有日期。
SELECT phone_number,system_outcome,DateTime
FROM calls
WHERE DATE (DateTime) BETWEEN '2016-12-19' AND '2016-12-23'
AND system_outcome = 'ANSWER_MACHINE'
GROUP BY phone_number
HAVING count(Phone_number) > 6
答案 0 :(得分:0)
您需要学习以正确的格式存储日期,而不是字符串。您可以使用where
:
date_format()
子句
where date_format(left(date, 10), '%m/%d/%Y') between '2016-12-19' AND '2016-12-23'
我还应该注意,如果你想要电话号码,那么所有其他属性应该是聚合函数的参数。说:
SELECT phone_number, system_outcome, group_concat(DateTime)
FROM calls
WHERE date_format(left(date, 10), '%m/%d/%Y') BETWEEN '2016-12-19' AND '2016-12-23' AND
system_outcome = 'ANSWER_MACHINE'
GROUP BY phone_number, system_outcome
HAVING count(Phone_number) > 6;