utworzenie zapytania które posortuje zgrupuje i sumuje dane z tabeli w odpowiedni sposób

0

Hej,

Muszę wyciągnąć dane z tabeli:

Projekt Użytkownik Data Godziny
XXXXX1 Jan 2018-04-09 3,00
XXXXX1 Jan 2018-04-11 2.00
XXXXX1 Ala 2018-02-10 5.00
XXXXX2 Jan 2018-05-09 3,00
XXXXX2 Ala 2018-09-10 5.00

Tabela ma kilkadziesiąt tysięcy wierszy, w ramach jednego projektu może być wielu użytkowników, korzy są też przypisani do innych projektów.

Chodzi o to żeby ta tabela wystąpiła w tej formie:

Projekt Użytkownik Miesiąc Suma godzin
XXXXX1 Jan 2018-04 5,00
XXXXX1 Ala 2018-02 5.00
XXXXX2 Jan 2018-05 3,00
XXXXX2 Ala 2018-09 5.00

Generalnie trzeba zsumować liczbę godzin przy projekcie na miesiąc dla konkretnego użytkownika. Ale wymaga to dodatkowo zgrupowania do formy 1 wystąpienia na miesiąc użytkownika i projektu. Okazało się to trudniejsze niż myślałem więc liczę na odpowiedzi.

0

Wczoraj miałem ale w żadnym nie udało mi się połączyć tych warunków więc wszystkich się pozbyłem.
Przede wszystkim nie wiem jak połączyć wszystkie dni z miesiąca dla tego konkretnego użytkownika w ramach tego konkretnego projektu.

0

Grupuj po Twoje kolumnie wynikowej Miesiąc

0

Musisz jakoś przyciąć te daty do miesiąca, coś w tym stylu w Postgresie:

WITH asd(Projekt, Użytkownik, Data, Godziny) AS (
    values
    ('XXXXX1',  'Jan',  '2018-04-09'::date, 3.00 ),
    ('XXXXX1',	'Jan',	'2018-04-11', 2.00),
    ('XXXXX1',	'Ala',	'2018-02-10', 5.00),
    ('XXXXX2',	'Jan',	'2018-05-09', 3.00),
    ('XXXXX2',	'Ala',	'2018-09-10', 5.00)
)
select

Projekt,
Użytkownik,
date_trunc('month', Data),
sum(Godziny)


from asd

group by 1,2,3
0

Wielkie dzięki ;) po zamienieniu postgresowego date_trunc na coś z MySQL wszystko działa

SELECT

Projekt,
Użytkownik,
DATE_FORMAT(Data, '%M %Y' ) as Data,
sum(Godziny) as Suma godzin

FROM asd

GROUP BY 1,2,3

1

Unikaj grupowania indeksami(? nie znam konkretnej nazwy). Ktoś dołoży ci kolumne z przodu i wynik będzie całkiem inny

0

Zapamiętam na przyszłość. Wszystko w odpowiedniej formie poszło do .csv więc sprawa zamknięta

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