2017-08-28 19 views
-3

私は人の名前が複数あるテーブルがあります。それぞれの人物は、いくつかのジョブでいくつかの日付に数回出現します。私は別の仕事ごとの労働時間の合計を持つ別個の人を選びたいと思う。 例:MySQLは1行に異なる行の合計を選択します

PersonName  Job1  Job2  Job3 

    Eliot  14:55 23:17  80:12 
+0

これまでに何を試しましたか? Plsは、あなたのクエリ、テーブル構造とサンプルデータを投稿します – etsa

+0

"いくつかの日付に数回出現"は私たちがあなたを助けるのに本当に役立たない。彼が1日にどれくらいの時間働いていたのか、どのように分かっています開始時間の終了列?金額を指定する列?真夜中後に働くことはできますか?テーブル構造と試行を投稿してください。 – sagi

答えて

0

あなたは分として作業時間(例えば、整数)を格納する必要があり、または時間(例えば10進数)として合計を計算できるようにします。その場合、次のコードを使用することができます:

SELECT PersonName, SUM(Job1) as Job1, SUM(Job2) as Job2, SUM(Job3) AS Job3 
FROM schema_name.table_name 
GROUP BY PersonName; 

今はあなたの作業時間が文字列として保存されているようです。これを考慮に入れたクエリを書くこともできますが、作業時間を数値として保存する方がずっと簡単です。

関連する問題