Pomoc w utworzeniu kwerendy

0

Cześć,
na wstępie zaznaczę, że bardzo słabo znam SQL a to co chce zrobić ma mi po prostu ułatwić pracę.
Sytuacja jest taka, że mam tabele 'zgłoszenia' a niej między innymi kolumny 'id, 'data utworzenia' i 'data zakończenia'.
Potrzebuję wyciągnąć z tej tabeli kwerendą ile zgłoszeń zostało utworzonych w danym miesiącu, a ile zostało zamkniętych i pogrupować to właśnie po miesiącach.
W tej chwili mam coś takiego:

SELECT
		 absmonth("Created Time") AS Miesiac,
		 count("Request"."RequestID"),
         count("Request"."Completed Time")
FROM  "Request" 
GROUP BY  absmonth("Created Time") 

Niestety zlicza mi źle zakończonego zgłoszenia, bo najprawdopodobniej grupuje po "Created Time". Nie wiem jak w SQL po prostu wrzucić kolejne miesiące nie ciągnąć ich z żadnych pól, co prawdopodobnie zaburza moje wyniki.

0

Jaki SQL?

Propozycja:

select
FORMAT("Created Time", 'yyy-MM') as Month,
count("RequestID") as NumOfCreat

FROM  "Request" 

GROUP BY  "Month"

Druga tabelka:

select
FORMAT("Completed Time",  'yyy-MM') as Month,
count("RequestID") as NumOfCompl

FROM  "Request" 

GROUP BY  "Month"

Można oczywiście zrobić jedną (LEFT JOIN).

0

Właśnie potrzebuje to zrobić w jednej.
Group by month powoduje, że dla zamkniętych zgłoszeń wyrzuca mi w wyniku wszystkie utworzone np w Marcu a i zamknięte kiedykolwiek później.
Potrzebuje się odnieść do tego ile w danym miesiącu było utworzonych a ile zostało zamkniętych (a mogły być utworzone w poprzednich miesiącach).

Korzystam z narzędzia manage engine analitics i tam jest jakiś wbudowany interpreter sql, info z dokumentacji:
SQL (Structured Query Language) driven querying for powerful report creation. Write SQL queries in any of the familiar database dialects, including SQL Server, DB2, MySQL, PostgreSQL.

0

Trochę nie rozumiem.
Chcesz mieć tabelkę z 3 kolumnami, tak?

Miesiąc | Liczba otwartych | Liczba zamkniętych

Tak? Czy jeszcze coś innego?

0

Tak, z tym że dla 2 i 3 kolumny są różne warunki.
Liczba otwartych - ma mi pokazać ile w miesiącu było utworzonych zgłoszeń.
Liczba zamkniętych - ma mi pokazać ile zgłoszeń było zamkniętych w danym miesiącu, a utworzone mogły być kiedykolwiek wcześniej.

Grupując to po 'Created Time' pokazuje mi błędnie liczbę zamkniętych, ponieważ wyrzuca mi wszystkie zamknięte, które były utworzone w marcu, a zamknięte kiedykolwiek później.

0

Próbowałeś moje zapytania? Na razie odrębnie. Dobre liczby?

0

Odrębnie wychodzi ok, z tym że FORMAT() powoduje mi błąd i robię to tak:

SELECT
		 absmonth("Completed Time") as Month,
		 count("RequestID")
FROM  "Request" 
GROUP BY  "Month" 
1

Albo:

SELECT
	CRT.Month,
	CRT.NumOfCreat,
	COT.NumOfCompl

FROM
(
SELECT 
	absmonth("Created Time") as Month, 
	count("RequestID") as NumOfCreat
FROM 
	"Request"	
	
GROUP BY "Month" 
) as CRT

LEFT JOIN
(
SELECT 
	absmonth("Completed Time") as Month, 
	count("RequestID") as NumOfCompl
FROM 
	"Request"	
	
GROUP BY "Month" 
) as COT on COT.Month = CRT.Month
0

Rozwiązanie @Qlikeers zadziałało! :)
Dziwnie tylko sortuje, bo leci alfabetycznie i mam tak:

Luty 2018

Luty 2019

A powinno być

Luty 2018

Marzec 2018

Pokombinuje z tym, ale na tą chwile wielkie dzięki za pomoc!

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