0

月、火、水、木、金、土、日の列に、タイムテーブルのプロジェクトへの毎日のタイムスタンプがあります

プロジェクトのすべての列を追加して、費やされた時間の合計を取得する必要があります。

私の実際のクエリは次のようなものです -

私の実際のクエリは次のようなものです-SELECT time(SEC_TO_TIME(SUM(TIME_TO_SEC(fri))) + SEC_TO_TIME(SUM(TIME_TO_SEC(thu))) + SEC_TO_TIME(SUM(TIME_TO_SEC(tue)))) FROM timesheets WHERE project_id = 5

すべての列の時間と合計を合計して取得するための正確なクエリを作成するのを手伝ってくれる人はいますか

前もって感謝します

4

3 に答える 3

2

やってみました ?

SELECT ADDTIME(time1, time2);
于 2012-06-21T09:08:07.873 に答える
1

それらを合計するために2つ以上の引数を取る時間関数は存在しないと思います。
次のスニペットが役立つ場合があります。

select 
    addtime( mon, addtime( tue, addtime( wed, addtime( thu, 
             addtime( fri, addtime( sat, sun ) ) ) ) ) ) total_time_spent

上記のクエリは、フォーマットで費やされた合計時間を返しhours:minutes:secondsます。
合計で費やした時間のみを選択するには、time_format関数を使用します。

select time_format( total_time_spent, '%H' ) total_hours_spent

このクエリは、費やされた合計時間の時間部分のみを返すことに注意してください。存在する場合は、分と秒が失われます。

更新
次のスニペットは、費やした合計時間と分を示します。

select 
    time_format( 
        addtime( mon, addtime( tue, addtime( wed, addtime( thu, 
            addtime( fri, addtime( sat, sun ) ) ) ) ) ),
        '%H:%i' ) total_hours_and_mins_spent
于 2012-06-21T09:48:18.730 に答える
0

MySQL ドキュメントには、解析、型、変換、およびフォーマットを含む日付と時刻に関する非常に長い章があります。

列をキャストしてTIME入力し、それを活用します。

SELECT Mon + Tue
于 2012-06-21T09:04:50.303 に答える