- -- zadanie 1
- select Nazwa, Nazwisko, SUM(Brutto) as Razem
- from BazaRelacyjna.dbo.Osoby o
- join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu
- join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby
- group by rollup(Nazwa, Nazwisko);
- -- zadanie 2
- select Nazwa, Nazwisko, SUM(Brutto) as Razem
- from BazaRelacyjna.dbo.Osoby o
- join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu
- join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby
- group by cube(Nazwa, Nazwisko);
- -- zadanie 3
- select Nazwa, Nazwisko, SUM(Brutto) as Razem
- from BazaRelacyjna.dbo.Osoby o
- join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu
- join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby
- group by grouping sets(Nazwa, Nazwisko);
- -- zadanie 4
- select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc
- from BazaRelacyjna.dbo.Wojewodztwa w
- join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa
- join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta
- join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta
- join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru
- group by rollup(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru);
- select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc
- from BazaRelacyjna.dbo.Wojewodztwa w
- join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa
- join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta
- join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta
- join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru
- group by grouping sets(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru);
- -- zadanie 5
- select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc
- from BazaRelacyjna.dbo.Wojewodztwa w
- join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa
- join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta
- join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta
- join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru
- group by grouping sets((Wojewodztwo, Miasto), rollup(NazwaProducenta, NazwaTowaru));
- -- zadanie 6
- select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, (Cena * szt) as Wartosc,
- SUM(Cena * szt) OVER (PARTITION BY Wojewodztwo) as SumaWoj,
- SUM(Cena * szt) OVER (PARTITION BY Miasto) as SumaMiasto,
- SUM(Cena * szt) OVER (PARTITION BY NazwaProducenta) as SumaProducent,
- SUM(Cena * szt) OVER (PARTITION BY Cena * szt) as SumaTowar
- from BazaRelacyjna.dbo.Wojewodztwa w
- join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa
- join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta
- join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta
- join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru
- group by rollup(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, Cena*szt);
- -- zadanie 7
- select Nazwa, Nazwisko, Wzrost
- from BazaRelacyjna.dbo.Osoby o
- join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu
- group by Nazwa, Wzrost, Nazwisko;
- select Nazwa, Nazwisko, Wzrost, DENSE_RANK() OVER (PARTITION BY Nazwa ORDER BY Wzrost) as Ranking
- from BazaRelacyjna.dbo.Osoby o
- join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu;
- -- zadanie 8
- -- malejący ranking płac osób
- select Nazwisko, Brutto, RANK() OVER (ORDER BY Brutto desc) as Ranking
- from BazaRelacyjna.dbo.Osoby o
- join BazaRelacyjna.dbo.Zarobki z on z.IdOsoby = o.IdOsoby;
- --
- select Nazwisko, RokUrodz, CUME_DIST() OVER (ORDER BY RokUrodz asc) as Ranking
- from BazaRelacyjna.dbo.Osoby o
- group by Nazwisko, RokUrodz;