我有一个带有文本列的数据库,它将日期和时间存储为DD/MM/YYYY HH:MM:SS(示例:27-11-2015 17:01:53)。
现在我想用PHP做一些统计,但是我不能解决日期的问题。
我想统计所有当天(DD/MM/YYYY)的结果,尽管创建了小时。
我已经尝试了许多解决办法,但都没有成功。
最好的尝试是这一次,但给出的日期是空的:

SELECT STR_TO_DATE(DATECOLUMN, '%d/%m/%Y'), COUNT(*)
FROM TABLE
GROUP BY STR_TO_DATE(DATECOLUMN, '%d/%m/%Y')

我想使搜索在间隔的基础上,我想在搜索日期间隔的一些帮助,因为“正常”的方式不起作用。使用下面的代码无法进行间隔。
WHERE DATE(DATECOLUM) >= DATE(NOW()) - INTERVAL 7 DAY

有人能帮我解决这个问题吗?谢谢!

最佳答案

您可以尝试:

SELECT date_format(str_to_date(DATECOLUMN, '%d/%m/%Y'), '%d/%m/%Y') AS MyDate, COUNT(*)
FROM TABLE
GROUP BY MyDate

对于间隔和组,可以尝试以下操作:
SELECT COUNT(*), MyDate
FROM TABLE, (
    SELECT date_format(str_to_date(DATECOLUMN, '%d/%m/%Y'), '%d/%m/%Y') AS MyDate
    FROM TABLE) Tmp
WHERE date_format(str_to_date(MyDate, '%d/%m/%Y'), '%Y-%m-%d') >= NOW() - INTERVAL 7 DAY
GROUP BY MyDate

关于mysql - 来自文本列的MySQL GROUP BY DATE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33962020/

10-09 13:33