私はそれぞれのレコードがstartDateTime
とfinishDateTime
を持つmysqlテーブルを持っています。私は毎月の合計時間を返すことができるようにしたい。日付範囲内のすべてのデータを検索して月合計を計算する
$dateRange = "BETWEEN '$startDate' AND '$finishDate'";
$sql =
"SELECT
TIMESTAMPDIFF(MINUTE, StartDateTime, FinishDateTime) As Duration,
StartDateTime As Start, FinishDateTime As Finish
FROM Entries
WHERE StartDateTime $dateRange AND FinishDateTime $dateRange";
テーブルエントリ
各レコードの長さではなく、各月の合計を返します| StartDateTime | FinishDateTime |
| 2016-08-18 10:00:00 | 2016-08-18 11:00:00 |
| 2016-08-18 12:00:00 | 2016-08-18 14:00:00 |
| 2016-08-31 17:00:00 | 2016-09-01 09:00:00 |
Desired Output
| Month | Duration |
| Aug | 10 |
| Sept | 9 |
:
私の現在のクエリがこれです。必要なデータを取得するためにこのクエリに追加または変更する必要があるのは何ですか?すべてのエントリが同じ月に開始し、終了したことをたぶん
[日付範囲の間で総額に対するSQLクエリ]の可能な重複(http://stackoverflow.com/questions/11616693/sql-query-for-date-range-between-date-range) – hlh3406
dbスキーマおよびおそらくsqlfiddleと同様に、現在の出力を望ましい出力とポストしています。http://sqlfiddle.com/ –
編集してください質問とサンプルデータと希望の結果を提供します。 –