私はデータベースとしてMySQLを、スクリプト言語としてPHPを使用しているレポート作成プログラムを作成しています。by unixタイムスタンプ+24時間
私がしようとしているのは、レコードを時間でグループ化し、結果セットで過去24時間のうちにグループ化することです。
現在のクエリ
SELECT count(*),time FROM `service_data` GROUP BY time
上記のクエリは、結果では一緒に最後の24時間、それだけのグループと同様のunixtimestampでグループにそれらを
テーブル構造
CREATE TABLE IF NOT EXISTS `service_data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`service_id` varchar(255) NOT NULL,
`ip_address` varchar(255) NOT NULL,
`time` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
ありません特定の時間にレポートがない場合、24レコードがnullになるように設定する。そう
| hour | reports |
|------|----------|
| 1 | 5 |
| 2 | 10 |
| 3 | 12 |
| 4 | 25 |
同様
すべてのヘルプははるかに高く評価されます!
ありがとうございます!
UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY))
HOUR
を使用し、その後、最初の時間に変換し、バック時にタイムスタンプを変換するには:、最後の24時間を取得し、UNIXタイムスタンプに1日前の時間を変換する
時 'int'で保存していない理由'タイムスタンプ'? –
私はちょうどそれの地獄のためにタイムスタンプを挿入するためにPHPを使用しているので。 – Moe
は時間現在のUNIXのタイムスタンプですか? – barudo