尝试每 15 分钟获取一组计数
Trying to get a group count per 15 minutes
在旧数据库中,日期列存储为 12-10-2012 15:20:36。我需要知道 15 分钟内的使用情况。我从这里获取了部分信息,但下面的脚本给了我零结果。我想念什么?
$stats = mysql_query("SELECT
count(id) as count,
CASE
WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 0 and 14 THEN '00'
WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 15 and 29 THEN '15'
WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 30 and 44 THEN '30'
WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 45 and 59 THEN '45'
END AS intervals
FROM errors
GROUP BY intervals");
while($stat = mysql_fetch_object($stats)) {
echo $stat->intervals." - ".$stat->count."<br>";
}
尝试 %d-%m-%Y %H:%i:%s
而不是 %d-%m-%Y %h:%i:%s
。 %H
将接受 0-23 作为小时值。
SELECT STR_TO_DATE( '12-10-2012 15:20:36', '%d-%m-%Y %H:%i:%s' )
将 return 12-10-2012 15:20:36
SELECT STR_TO_DATE( '12-10-2012 15:20:36', '%d-%m-%Y %h:%i:%s' )
将 return NULL
有时候大小很重要:)
在旧数据库中,日期列存储为 12-10-2012 15:20:36。我需要知道 15 分钟内的使用情况。我从这里获取了部分信息,但下面的脚本给了我零结果。我想念什么?
$stats = mysql_query("SELECT
count(id) as count,
CASE
WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 0 and 14 THEN '00'
WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 15 and 29 THEN '15'
WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 30 and 44 THEN '30'
WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 45 and 59 THEN '45'
END AS intervals
FROM errors
GROUP BY intervals");
while($stat = mysql_fetch_object($stats)) {
echo $stat->intervals." - ".$stat->count."<br>";
}
尝试 %d-%m-%Y %H:%i:%s
而不是 %d-%m-%Y %h:%i:%s
。 %H
将接受 0-23 作为小时值。
SELECT STR_TO_DATE( '12-10-2012 15:20:36', '%d-%m-%Y %H:%i:%s' )
将 return 12-10-2012 15:20:36
SELECT STR_TO_DATE( '12-10-2012 15:20:36', '%d-%m-%Y %h:%i:%s' )
将 return NULL
有时候大小很重要:)