我有这样的日期时间数据:
2012-07-30 09:18:20
2012-07-30 09:18:20
2012-07-30 09:18:22
2012-07-30 09:18:23
2012-07-31 19:08:14
2012-07-31 19:08:15
2012-07-31 19:08:15
如何获取日期为 2012-07-30 09:18 的数据计数(没有第二信息)?
选择计数 * 在哪里............
尝试
SELECT COUNT(*) FROM TABLE GROUP BY STR_TO_DATE('datecolumn','%Y-%m-%d %h:%i');
有关更多信息,请参见 mySQL:STR_TO_DATE
SELECT COUNT(1) AS cnt
FROM my_table
GROUP BY SUBSTRING_INDEX(datetime_column, ':', 2);
还有一种变体——
SELECT
COUNT(*)
FROM
table
GROUP BY
datetime_column - INTERVAL EXTRACT(SECOND FROM datetime_column) SECOND
你可以试试这个:
这将为您提供总计数,输出日期。
select count(*),DATE_FORMAT(created, '%Y-%m-%d')
from MY_TABLE
group by DATE_FORMAT(created, '%Y-%m-%d');
如果你想使用 where 作为单个日期(假设你从 PHP 传递变量)
select count(*),DATE_FORMAT(created, '%Y-%m-%d')
from MY_TABLE
WHERE DATE_FORMAT(created, '%Y-%m-%d') = '2000-02-14' ;
希望这有帮助。
SELECT DISTINCT count(*), DATE_FORMAT(created, '%Y-%m-%d') as my_date FROM YOUR_TABLE [WHERE DATE_FORMAT(created, '%Y-%m-%d') = <date needed>]