2017-08-28 2 views
-3

Ich habe eine Tabelle mit mehreren Namen von Personen. Jede Person erscheint mehrmals an mehreren Daten auf mehreren Jobs. Ich möchte verschiedene Personen mit der Summe der Arbeitsstunden pro verschiedenen Job auswählen. Beispiel:MySQL Summe der verschiedenen Zeilen in 1 Zeile auswählen

PersonName  Job1  Job2  Job3 

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

Was haben Sie bisher versucht? Bitte senden Sie Ihre Anfrage, Tabellenstruktur und Beispieldaten – etsa

+0

"Erscheint mehrmals an mehreren Daten" hilft uns nicht wirklich helfen. Woher weißt du, wie viel Zeit er am Tag gearbeitet hat? Startzeit Endzeit Spalten? eine Spalte, die den Betrag angeben? Kann eine Person nach Mitternacht arbeiten? Bitte posten Sie Tabellenstrukturen und Versuche. – sagi

Antwort

0

Sie sollten die Arbeitszeit als Minuten speichern (z.B. integer) oder als Stunden (z.B. dezimal) in der Lage sein, eine Summe zu berechnen. In diesem Fall könnten Sie den folgenden Code verwenden:

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

Im Moment scheint Ihre Arbeitszeit als eine Zeichenfolge gespeichert werden. Sie könnten eine Abfrage schreiben, die das berücksichtigt, aber es sollte viel einfacher sein, die Arbeitszeit als eine Zahl zu speichern.

Verwandte Themen