SQL Abfrage

Simuletsplay

Benutzer
Beiträge
7
Hallo Zusammen,

ich habe folgendes Ziel: Ich brauche die Anzahl der Trainingseinheiten.
Folgende Daten stehen zur Verfügung:
Tabelle anwesenheit (mit Id, Datum und Mitglieder-ID)
Tabelle users (mit ID, trainingsgruppe)

In der Spalte Trainingsgruppe (tg) gibt es nur 1, 2 oder 3.
Dabei werden aber 1 und 2 zusammen gezählt und 3 einzeln.

In der Tabelle Anwesenheit wird also für jeden User ein Datensatz geschrieben.

Ich brauche nun also die Anzahl von den Trainingseinheiten über die tg und das Anwesenheits-Datum.

Ich habe es folgendermaßen probiert:
SQL:
SELECT
    COUNT(anwesenheit.datum) AS 'Anzahl'
FROM
    anwesenheit
INNER JOIN users ON anwesenheit.mid = users.id
WHERE
    MONTH(anwesenheit.datum) = 6 AND tg < 3
GROUP BY
    datum,
    tg;

Aber dann kommen mehrere Datensätze raus... keine Ahnung, was die aussagen...

Wer kann mir dabei helfen?

Grüße
Ben
 
Werbung:

dabadepdu

Datenbank-Guru
Beiträge
1.179
Oder anders, wenn Du die Spalten nicht nur ins Group By, sondern auch in die Ausgabe (Select ...), dann siehst Du, was hinter den "mehreren Zeilen" steckt. Nämlich alle eindeutigen Datumswert kombiniert mit den jeweils anfallenden TG.
Nimmst Du bspw. das Datum aus dem Group By raus (lässt also TG drin) und gibst TG mit aus (im Select), bekommst Du die Zahl pro TG.

Da wir Deine Daten nicht kennen und nicht wissen (können), ob Deine Daten z.B. auch Uhrzeiten enthalten, könnte man sich da mal langsam ran tasten.
 
Werbung:
Oben