2016-11-01 10 views
1

私はアプリケーションログテーブルを持っています。私は現在、Mysqlは日付フィールドの一部でグループを選択します

SELECT COUNT(id) 
FROM application_log 
WHERE activity_date LIKE '%2016-11-01 18:12%' AND activity_type = 'Full Invoice' AND status = 'Success' 

現在、私は毎分を変更する必要が次のクエリを使用することにより、毎分アクションの数をカウントし、クエリを再実行してください。

1時間に1分あたりのカウントを得る方法はありますか?または、1時間あたりのアクション数を取得してさらに進んでください。

+1

を支援します。http://stackoverflow.com/questions/29638502/sql-to-get-number-count-per-minute –

+0

以下の回答私のために完璧に働いた。ありがとう。 – streetlife

答えて

1

DATE_FORMATを使用して分単位で時間を取得し、それをグループ化します。

SELECT DATE_FORMAT(activity_date, '%H:%i') AS time, COUNT(*) 
FROM application_log 
WHERE activity_date BETWEEN @start_time AND @end_time 
AND activity_type = 'Full Invoice' AND status = 'Success' 
GROUP BY time 
ORDER BY time 

時間帯が日以上にわたる場合は

、フォーマット文字列に日付を追加します。

0

希望、これは多分これはあなたにいくつかの方向性を与えることができ

SELECT concat(date(activity_date),' ',hour(activity_date),':', minute(activity_date)) as activity_date , COUNT(id) 
FROM application_log 
WHERE activity_type = 'Full Invoice' AND status = 'Success' 
group by date(activity_date),hour(activity_date), minute(activity_date); 
関連する問題