Zduplikowane rekordy a policzenie czasu

0

MySQL jest moją kulą u nogi, albo mam dziś jakieś zaćmienie umysłu.

Query poniżej to subselect innego query, w którym próbuję policzyć czas.

SELECT
   u.id         AS uId,
   u.first_name AS uName,
   ut.tag_id    AS tId,
   TIMESTAMPDIFF(SECOND, t.start, t.end)   AS totalTime
FROM time AS t
INNER JOIN user     AS u ON t.user_id = u.id
INNER JOIN user_tag AS ut ON ut.user_id = u.id
GROUP by u.id, ut.tag_id, t.start, t.end

...
screenshot-20220425234122.png
...

Tabela time zawiera 30 rekordów, każde start i end to godzina różnicy, zatem TIMESTAMPDIFF zwróci 3600 sekund.
Tabela user_tag zawiera 2 rekordy.

Problem jest taki, że kiedy robię INNER JOIN user_tag, podwaja mi on rzecz jasna wyniki, ale mam problem z policzeniem sekund. Zamiast policzyć 30 rekordów po godzine, czyli 30 godzin, zlicza mi 60 rekordów, zatem 60 godzin. How to fix it :)

3

Wywalić tag id z grupowania i select.

Inaczej się nie da bo nie bardzo wiadomo co chcesz osiągnąć

1 użytkowników online, w tym zalogowanych: 0, gości: 1