Posiadam tablicę z listą zgłoszeń, każde zgłoszenie posiada datę utworzenia oraz datę zakończenia. Chciałbym uzyskać informację ile zgłoszeń zostało utworzonych i zakończonych w konkretnych miesiącach. Zapytanie ma zwrócić tabelę rok, miesiąc, ilość zgłoszeń utworzonych, ilość zgłoszeń zakończonych. Zliczenie ma się odbywać na podstawie daty utworzenia i daty zakończenia. Zaznaczam, że zgłoszenie utworzone np w lutym, może być zakończone w kwietniu i powinno ono zostać uwzględnione jako zgłoszenie utworzone w lutym a zakończone w kwietniu.
Póki co doszedłem do tego typu zapytań:
informacja na temat zgłoszeń utworzonych w poszczególnych mc:
SELECT YEAR( created ) as data , MONTH( created ) as miesiac , COUNT( id ) as ilosc
FROM tickets
GROUP BY YEAR( created ) , MONTH( created );
informacja na temat zgłoszeń zakończonych w poszczególnych mc:
SELECT YEAR( closed) as data , MONTH( closed) as miesiac , COUNT( id ) as ilosc
FROM tickets
GROUP BY YEAR( closed) , MONTH( closed);
Pytanie moje jak zrobić, żeby wynik uzyskać w jednej tabeli za pomocą jednego zapytania do bazy??
Udało mi się stworzyć jeszcze takie zapytanie:
SELECT YEAR( created ) AS rok, MONTH( created ) AS miesiac, COUNT( created ) AS utworzone, SUM( if( closed >0, 1, 0 ) )
FROM tickets
GROUP BY YEAR( created ) , MONTH( created )
Problem w tym, że to zlicza TYLKO zamknięte zgłoszenia z jednego konkretnego miesiąca, tzn zlicza zgłoszenia utworzone np w lutym i podaje ile zgłoszeń utworzonych w lutym zostało zakończonych w lutym, a jak już wspomniałem w lutym pojawiają się też zamknięte zgłoszenia które były utworzone w styczniu lub grudniu lub jeszcze wcześniej.