

MySQL - seksupení a vypsání počtu položek ve skupině...
Ahoj, řeším tento problém:
Mám tyto DB tabulky:
results: ID,USER_ID,DEFINITION_ID DATETIME,...
users: ID, FIRM_ID, GROUP_ID, NAME,SURNAME
groups: ID, FIRM_ID, GROUP_NAME
každý user je v právě jedné skupině (group)
user může mít více záznamů v result
každy user má právě jedno FIRM_ID, může být víc userů se stejným firm_id
každá group má právě jedno FIRM_ID, může být víc group se stejným firm_id
A já potřebuji vypsat tabulku, kde bude:
1. sloupec: Datum (bez času)
2. sloupec: Název skupiny (GROUP_NAME)
3. sloupec: Kolik záznamů má skupina uvedena ve sloupci 2 pro to datum, které je ve sloupci 1
Datumy se načítají a groupují dle DATE(DATETIME) z results...
Vznikne tedy tabulka např:
9.10.2015|Skupina A|7 záznamů
9.10.2015|Skupina B|9 záznamů
8.10.2015|Skupina A|10 záznamů
8.10.2015|Skupina C|5 záznamů
...
Zkusil jsem to dle následujícího SQL a vše funguje dobře, až na jednu podstatnou chybu - blbě se počítají ty počty, chyba myslím vznikne, když se v tabulce objeví stejná skupina vícekrát...
Prosím o radu jak ten SQL opravit:
SELECT g.ID AS GID, g.GROUPNAME,COUNT(r.ID) AS NUM_RESULTS, DATE(r.DATE_FINISH) AS DATE_FINISH
FROM users AS u
JOIN result AS r ON (r.USER_ID = u.ID AND r.DATE_FINISH IS NOT NULL)
JOIN groups AS g ON (g.ID = u.GROUP_ID)
WHERE u.FIRM_ID = 123456 AND r.DEFINITION_ID = 123
GROUP BY DATE(DATE_FINISH)
ORDER BY DATE_FINISH DESC
Díky za pomoc...
Musis souctovat dle dne a ID
j, dík, 10 sekund než si to napsal jsem na to taky přišel... stačilo se na chvilku projít
Díky