Witam, mam problem z wykonaniem jednego zapytania do bazy. Nie mam jej w tej chwili przed sobą ale postaram się to możliwie dokładnie wytłumaczyć.
Mam tabelę zawierającą ponad 9 milionów rekordów. kolumn też jest dużo, ale kluczowych dla mnie jest kilka z nich. wygląda to mniej więcej tak:
| id | pesel | status_konta |
id jest unikatowe, a numer pesel moze się powtarzać. tak jakby jeden użytkownik miał kilka kont. Zadanie polega na tym, że muszę policzyć powtarzające się numery pesel i zestawić je w formie tabeli pokazującej ile numerów pesel powtarza się ile razy z podziałem na status konta. Wiem, że nie brzmi to jasno więc pokażę na rysunku jak ma wyglądać docelowa tabela:
tabela1
Póki co udało mi się stworzyć podzapytanie, które zliczy numery pesel i wyświetli ich liczbe w formie: | l_wyst | pesel | status |. W tym podzapytaniu jest również CASE który wyświetla "1" dla statusu aktywnego, "0" dla każdego innego statusu i to pole CASE jest później sumowane, dzięki czemu widzę ile statusów jest aktywnych. Następnie utworzyłem dla niego (nad)zapytanie, które wyswietla ilość powtórzeń oraz ilość wystąpień. W tej chwili moja tabela wygląda mniej więcej tak:
tabela2
Teraz chodzi o to, żeby te wiersze gdzie w kolumnie "il_powt" występuje "2" pozostały bez zmian, a pozostałe gdzie jest 3,4,5,itd zostały zsumowane i wyglądały tak jak na rysunku pierwszym. Jestem bardzo początkujący w temacie SQLa a jutro chciałbym to skończyć. Raport powinien zrobiony podobno w 15 minut ;)
Mam nadzieję, że wytłumaczyłem wystarczająco jasno ;)
Liczę na Waszą pomoc!