0

我有这样的日期时间数据:

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 的数据计数(没有第二信息)?

选择计数 * 在哪里............

4

5 回答 5

1

尝试

  SELECT COUNT(*) FROM TABLE GROUP BY STR_TO_DATE('datecolumn','%Y-%m-%d %h:%i');

有关更多信息,请参见 mySQL:STR_TO_DATE

于 2012-07-30T10:37:47.007 回答
0
SELECT COUNT(1) AS cnt
FROM my_table
GROUP BY SUBSTRING_INDEX(datetime_column, ':', 2);
于 2012-07-30T10:39:49.953 回答
0

还有一种变体——

SELECT
  COUNT(*)
FROM
  table
GROUP BY
  datetime_column - INTERVAL EXTRACT(SECOND FROM datetime_column) SECOND
于 2012-07-30T10:44:56.027 回答
0

你可以试试这个:

这将为您提供总计数,输出日期。

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' ;

希望这有帮助。

于 2012-07-30T10:45:50.303 回答
0
SELECT DISTINCT count(*), DATE_FORMAT(created, '%Y-%m-%d') as my_date FROM YOUR_TABLE     [WHERE DATE_FORMAT(created, '%Y-%m-%d') = <date needed>]
于 2012-07-30T11:17:24.357 回答