Ich habe die folgenden Daten in einer MySQL-Tabelle TestMySQL Doppellungs mit Doppel Gruppierung
ich die folgende SQL-Abfrage ausführen
SELECT user_id,
group_id,
sum(value) as total_present,
avg(value)*100 as attendance_percentage
FROM test t
WHERE t.session_date BETWEEN '2017-10-01' AND '2017-10-15'
GROUP BY user_id
Diese mich Prozentsätze für jede gibt user_id mögen dies:
Wenn Sie sich das obige Ausgabebeispiel ansehen, befinden sich Benutzer-ID 1 und 2 in der gleichen Gruppen-ID. Also gibt es eine Möglichkeit für mich, meine Abfrage weiter zu gruppieren, um dann einen Durchschnitt derselben Gruppen-IDs zu erhalten. So zum Beispiel oben, sollte die group_id 3 Prozent 70,83335
Beitrag die Tabellen und Daten als Text [LESEN] (http://meta.stackoverflow.com/ Fragen/285551/why-may-ich-nicht-upload-images-of-code-auf-so-wenn-eine Frage zu stellen/285557 # 285557) –
Beachten Sie, dass group_id ist ein zufälliger Wert in der Qeury Sie verwendet. Es sieht nicht so aus, als wäre user_id ein PRIMARY KEY oder UNIQUE KEY in der Tabelle .. Also mit 'SELECT user_id, group_id .... GROUP BY benutzer_id' ist keine gültige ANSI GROUP BY ... lesen https: // www .psce.com/de/blog/2012/05/15/mysql-Fehler-do-you-u se-group-by-correct/ –
@RaymondNijland die PK ist ID, ein Benutzer erscheint mehrmals, aber in einem anderen Datum, die Abfrage ist in Ordnung. –