0

古いデータベースでは、日付列は 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>";
}
4

1 に答える 1

1

%d-%m-%Y %H:%i:%sの代わりにa を試してください%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' )戻ります12-10-2012 15:20:36

SELECT STR_TO_DATE( '12-10-2012 15:20:36', '%d-%m-%Y %h:%i:%s' )戻りますNULL

時々サイズが重要です:)

于 2016-11-01T15:32:10.447 に答える