Advertisement
Regazi

Untitled

Jun 5th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. --ROLLUP - Liczba sztuk sprzedazy biletów z podzialem na miesiace i lata
  3. SELECT BA_ROK.Rok, BA_Miesiac.Miesiac, COUNT(BA_BILET.ID_KLIENT_REJESTRACJA) AS LICZBA_SPRZEDANYCH_BILETOW
  4. FROM BA_ROK, BA_MIESIAC, BA_DZIEN, BA_BILET
  5. WHERE BA_BILET.ID_DZIEN = BA_DZIEN.ID_DZIEN AND BA_DZIEN.ID_MIESIAC = BA_MIESIAC.ID_MIESIAC AND BA_MIESIAC.ID_ROK = BA_ROK.ID_ROK
  6. GROUP BY ROLLUP(BA_ROK.ROK, BA_MIESIAC.MIESIAC);
  7.  
  8. --ROLLUP - Liczba sztuk sprzedazy biletow w parkometrach dostepnych 24h z podzialem na dni, miesiace i lata
  9. SELECT BA_ROK.ROK, BA_MIESIAC.MIESIAC, BA_DZIEN.DZIEN, COUNT(BA_BILET.ID_KLIENT_REJESTRACJA) AS LICZBA_SPRZEDANYCH_BILETOW
  10. FROM BA_ROK, BA_MIESIAC, BA_DZIEN, BA_BILET, BA_PARKOMETR
  11. WHERE BA_BILET.ID_DZIEN = BA_DZIEN.ID_DZIEN AND BA_DZIEN.ID_MIESIAC = BA_MIESIAC.ID_MIESIAC AND BA_MIESIAC.ID_ROK = BA_ROK.ID_ROK AND BA_BILET.ID_PARKOMETR = BA_PARKOMETR.ID_PARKOMETR AND BA_PARKOMETR.DOSTEPNOSC_24H = 'TAK'
  12. GROUP BY ROLLUP(BA_ROK.ROK, BA_MIESIAC.MIESIAC, BA_DZIEN.DZIEN);
  13.  
  14. --CUBE - Liczba platnosci z podzialem na sposoby platnosci, miejscowosci oraz miesiace
  15. SELECT BA_LOKALIZACJA.MIASTO, BA_MIESIAC.MIESIAC, BA_SPOSOB_PLATNOSCI.KARTA_GOTOWKA, COUNT(BA_BILET.ID_KLIENT_REJESTRACJA) AS LICZBA_PLATNOSCI
  16. FROM BA_ROK, BA_MIESIAC, BA_DZIEN, BA_BILET, BA_SPOSOB_PLATNOSCI, BA_PARKOMETR, BA_LOKALIZACJA
  17. WHERE BA_BILET.ID_DZIEN = BA_DZIEN.ID_DZIEN AND BA_DZIEN.ID_MIESIAC = BA_MIESIAC.ID_MIESIAC AND BA_MIESIAC.ID_ROK = BA_ROK.ID_ROK AND
  18.       BA_BILET.ID_SPOSOB_PLATNOSCI = BA_SPOSOB_PLATNOSCI.ID_SPOSOB_PLATNOSCI AND BA_BILET.ID_PARKOMETR = BA_PARKOMETR.ID_PARKOMETR AND BA_PARKOMETR.ID_LOKALIZACJA = BA_LOKALIZACJA.ID_LOKALIZACJA
  19. GROUP BY CUBE(BA_LOKALIZACJA.MIASTO, BA_MIESIAC.MIESIAC, BA_SPOSOB_PLATNOSCI.KARTA_GOTOWKA);
  20.  
  21. --CUBE - Śreni czas postoju z podzialem na miesiace oraz parkometry
  22. SELECT BA_MIESIAC.MIESIAC, BA_PARKOMETR.ID_PARKOMETR, ROUND(AVG(BA_BILET.CZAS_TRWANIA_MINUTY),2) AS SREDNI_CZAS_POSTOJU
  23. FROM BA_ROK, BA_MIESIAC, BA_DZIEN, BA_BILET, BA_PARKOMETR
  24. WHERE BA_BILET.ID_DZIEN = BA_DZIEN.ID_DZIEN AND BA_DZIEN.ID_MIESIAC = BA_MIESIAC.ID_MIESIAC AND BA_MIESIAC.ID_ROK = BA_ROK.ID_ROK AND BA_BILET.ID_PARKOMETR = BA_PARKOMETR.ID_PARKOMETR
  25. GROUP BY CUBE(BA_MIESIAC.MIESIAC, BA_PARKOMETR.ID_PARKOMETR);
  26.  
  27. --GROUPING SETS - Liczba sztuk sprzedazy biletow na miejsca postojowe 'ZWYKLE' z podzialem na miesiace oraz dane parkometry
  28. SELECT BA_MIESIAC.MIESIAC, BA_PARKOMETR.ID_PARKOMETR, COUNT(BA_BILET.ID_KLIENT_REJESTRACJA) AS LICZBA_SPRZEDANYCH_BILETOW
  29. FROM BA_ROK, BA_MIESIAC, BA_DZIEN, BA_BILET, BA_PARKOMETR
  30. WHERE BA_BILET.ID_DZIEN = BA_DZIEN.ID_DZIEN AND BA_DZIEN.ID_MIESIAC = BA_MIESIAC.ID_MIESIAC AND BA_MIESIAC.ID_ROK = BA_ROK.ID_ROK AND BA_BILET.ID_PARKOMETR = BA_PARKOMETR.ID_PARKOMETR AND BA_PARKOMETR.RODZAJ_MIEJSCA_PARKINGOWEGO = 'ZWYKLE'
  31. GROUP BY GROUPING SETS(BA_MIESIAC.MIESIAC, BA_PARKOMETR.ID_PARKOMETR, ());
  32.  
  33. --GROUPING SETS - Liczba sztuk sprzedazy biletow na auta z rejestracjami świętokrzyskimi na stanowiska niepelnosprawne z podzialem na lata
  34. SELECT BA_ROK.ROK, BA_KLIENT_REJESTRACJA.NUMER_REJESTRACYJNY, COUNT(BA_BILET.ID_KLIENT_REJESTRACJA) AS LICZBA_SPRZEDANYCH_BILETOW
  35. FROM BA_ROK, BA_MIESIAC, BA_DZIEN, BA_BILET, BA_KLIENT_REJESTRACJA, BA_PARKOMETR
  36. WHERE BA_BILET.ID_DZIEN = BA_DZIEN.ID_DZIEN AND BA_DZIEN.ID_MIESIAC = BA_MIESIAC.ID_MIESIAC AND BA_MIESIAC.ID_ROK = BA_ROK.ID_ROK AND
  37.       BA_BILET.ID_KLIENT_REJESTRACJA = BA_KLIENT_REJESTRACJA.ID_KLIENT_REJESTRACJA AND BA_KLIENT_REJESTRACJA.NUMER_REJESTRACYJNY LIKE 'T%' AND BA_BILET.ID_PARKOMETR = BA_PARKOMETR.ID_PARKOMETR AND BA_PARKOMETR.RODZAJ_MIEJSCA_PARKINGOWEGO = 'NIEPELNOSPRAWNE'
  38. GROUP BY GROUPING SETS(BA_ROK.ROK, BA_KLIENT_REJESTRACJA.NUMER_REJESTRACYJNY, ());
  39.  
  40. --RANK - Ranking dni z najwieksza iloscia kupionych biletow
  41. SELECT BA_DZIEN.DZIEN, COUNT(BA_BILET.ID_KLIENT_REJESTRACJA) AS ILOSC_KUPIONYCH_BILETOW,
  42. DENSE_RANK() OVER (ORDER BY COUNT(BA_BILET.ID_KLIENT_REJESTRACJA) DESC) AS "RANKING" FROM BA_DZIEN, BA_BILET, BA_KLIENT_REJESTRACJA
  43. WHERE BA_DZIEN.ID_DZIEN = BA_BILET.ID_DZIEN AND BA_KLIENT_REJESTRACJA.ID_KLIENT_REJESTRACJA=BA_BILET.ID_KLIENT_REJESTRACJA GROUP BY BA_DZIEN.DZIEN;
  44.  
  45. --RANK - Ranking srednich czasow postoju w minutch dla danego kierowcy ( nr_rejestracyjny)
  46. SELECT BA_KLIENT_REJESTRACJA.NUMER_REJESTRACYJNY, ROUND(AVG(BA_BILET.CZAS_TRWANIA_MINUTY),2) AS "SREDNI CZAS POSTOJU", DENSE_RANK() OVER (ORDER BY AVG(BA_BILET.CZAS_TRWANIA_MINUTY) DESC) AS "RANKING"
  47. FROM BA_BILET, BA_KLIENT_REJESTRACJA
  48. WHERE BA_BILET.ID_KLIENT_REJESTRACJA = BA_KLIENT_REJESTRACJA.ID_KLIENT_REJESTRACJA
  49. GROUP BY BA_KLIENT_REJESTRACJA.NUMER_REJESTRACYJNY;
  50.  
  51. --OKNO PRZESUWNE - Przyrosty czasu postojów z podziaLem na miesiace oraz dany parkometr.
  52. SELECT BA_MIESIAC.MIESIAC, BA_PARKOMETR.ID_PARKOMETR, BA_BILET.CZAS_TRWANIA_MINUTY, SUM(BA_BILET.CZAS_TRWANIA_MINUTY) OVER (PARTITION BY BA_PARKOMETR.ID_PARKOMETR ORDER BY BA_MIESIAC.MIESIAC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS CZAS_SUMA
  53. FROM BA_MIESIAC, BA_DZIEN, BA_PARKOMETR, BA_BILET, BA_ROK
  54. WHERE BA_BILET.ID_DZIEN = BA_DZIEN.ID_DZIEN AND BA_DZIEN.ID_MIESIAC = BA_MIESIAC.ID_MIESIAC AND BA_MIESIAC.ID_ROK = BA_ROK.ID_ROK AND BA_BILET.ID_PARKOMETR = BA_PARKOMETR.ID_PARKOMETR
  55. ORDER BY BA_PARKOMETR.ID_PARKOMETR, BA_MIESIAC.MIESIAC;
  56.  
  57. --OKNO PRZESUWNE - Przyrosty ilosci biletow przypadajaca na dana rejestracje auta z podzialem na lata, miesiace i dnie .
  58. SELECT DISTINCT BA_KLIENT_REJESTRACJA.NUMER_REJESTRACYJNY, BA_ROK.ROK, BA_MIESIAC.MIESIAC, BA_DZIEN.DZIEN, COUNT(BA_BILET.ID_KLIENT_REJESTRACJA) OVER (PARTITION BY BA_KLIENT_REJESTRACJA.NUMER_REJESTRACYJNY ORDER BY BA_ROK.ROK, BA_MIESIAC.MIESIAC, BA_DZIEN.DZIEN RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS ILOSC_SUMA
  59. FROM BA_KLIENT_REJESTRACJA, BA_MIESIAC, BA_DZIEN, BA_BILET, BA_ROK
  60. WHERE BA_BILET.ID_DZIEN = BA_DZIEN.ID_DZIEN AND BA_DZIEN.ID_MIESIAC = BA_MIESIAC.ID_MIESIAC AND BA_MIESIAC.ID_ROK = BA_ROK.ID_ROK AND BA_BILET.ID_KLIENT_REJESTRACJA = BA_KLIENT_REJESTRACJA.ID_KLIENT_REJESTRACJA
  61. ORDER BY BA_KLIENT_REJESTRACJA.NUMER_REJESTRACYJNY, BA_ROK.ROK, BA_MIESIAC.MIESIAC, BA_DZIEN.DZIEN;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement