PaweU

bd lab5

Nov 15th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.29 KB | None | 0 0
  1. LAB 5
  2.  
  3. :)))))))))))))))))))))
  4.  
  5. WITH max AS (
  6. SELECT masa from czekoladki
  7. ORDER BY masa DESC
  8. LIMIT 1
  9. )
  10.  
  11. SELECT * FROM (
  12. SELECT idczekoladki, nazwa, masa FROM czekoladki
  13. ) as tabela, max
  14. WHERE tabela.masa = max.masa
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. !!! W where nie można używać aliasów !!!
  22.  
  23. 1.1
  24. SELECT COUNT(*) as liczba_czekoladek FROM czekoladki cz
  25.  
  26. 1.2
  27. SELECT COUNT(cz.orzechy) as liczba_czekoladek_z_orzechami FROM czekoladki cz
  28.  
  29. 1.3
  30. SELECT sumy.idpudelka, sumy.suma FROM (
  31. SELECT p.idpudelka, SUM(z.sztuk) as suma FROM pudelka p JOIN zawartosc z ON p.idpudelka = z.idpudelka
  32. GROUP BY p.idpudelka
  33. ) sumy
  34. ORDER BY sumy.suma DESC
  35. LIMIT 1
  36.  
  37. 1.4
  38. SELECT p.nazwa, SUM(z.sztuk) as suma FROM pudelka p JOIN zawartosc z ON p.idpudelka = z.idpudelka
  39. GROUP BY p.idpudelka
  40. ORDER BY suma DESC
  41.  
  42. 1.5
  43. SELECT p.nazwa, SUM(z.sztuk) as suma FROM pudelka p
  44. JOIN zawartosc z ON p.idpudelka = z.idpudelka
  45. JOIN czekoladki c ON z.idczekoladki = c.idczekoladki
  46. WHERE c.orzechy IS NULL
  47. GROUP BY p.idpudelka
  48. ORDER BY suma DESC
  49.  
  50. 1.6
  51. SELECT p.nazwa, SUM(z.sztuk) as suma FROM pudelka p
  52. JOIN zawartosc z ON p.idpudelka = z.idpudelka
  53. JOIN czekoladki c ON z.idczekoladki = c.idczekoladki
  54. WHERE c.czekolada = 'mleczna'
  55. GROUP BY p.idpudelka
  56. ORDER BY suma DESC
  57.  
  58.  
  59. 2.1
  60. SELECT p.nazwa, SUM(c.masa*z.sztuk) as masa FROM pudelka p
  61. JOIN zawartosc z ON p.idpudelka = z.idpudelka
  62. JOIN czekoladki c ON z.idczekoladki = c.idczekoladki
  63. GROUP BY p.idpudelka
  64. ORDER BY masa DESC
  65.  
  66. 2.2
  67. SELECT p.idpudelka, SUM(cz.masa*z.sztuk) as masa
  68. FROM
  69. czekoladki cz
  70. INNER JOIN zawartosc z ON cz.idczekoladki = z.idczekoladki
  71. INNER JOIN pudelka p ON z.idpudelka = p.idpudelka
  72. GROUP BY p.idpudelka
  73. ORDER BY masa DESC
  74. LIMIT 1
  75.  
  76. 2.3
  77. SELECT AVG(masy.masa) FROM (SELECT p.idpudelka, SUM(cz.masa*z.sztuk) as masa
  78. FROM
  79. czekoladki cz
  80. INNER JOIN zawartosc z ON cz.idczekoladki = z.idczekoladki
  81. INNER JOIN pudelka p ON z.idpudelka = p.idpudelka
  82. GROUP BY p.idpudelka )masy
  83.  
  84. 2.4
  85. SELECT p.nazwa, (SUM(c.masa*z.sztuk) / SUM(z.sztuk)) as srednia FROM pudelka p
  86. JOIN zawartosc z ON p.idpudelka = z.idpudelka
  87. JOIN czekoladki c ON z.idczekoladki = c.idczekoladki
  88. GROUP BY p.idpudelka
  89. ORDER BY srednia DESC
  90.  
  91. 3.1
  92. SELECT z.datarealizacji, COUNT(z.idzamowienia) FROM zamowienia z
  93. GROUP BY z.datarealizacji
  94.  
  95. 3.2
  96. SELECT COUNT(z.idzamowienia) as liczba_zamowien FROM zamowienia z
  97.  
  98. 3.3
  99. SELECT SUM(a.sztuk*p.cena) as suma FROM public.artykuly a
  100. JOIN pudelka p USING (idpudelka)
  101.  
  102. 3.4
  103. select k.nazwa, count(*) as liczba_zamówień, sum(a.sztuk*p.cena) as wartość from klienci k
  104. join zamowienia z using(idklienta)
  105. join artykuly a using(idzamowienia)
  106. join pudelka p using(idpudelka)
  107. group by k.nazwa
  108.  
  109.  
  110. 4.1
  111. SELECT idczekoladki, COUNT(idpudelka) as suma FROM zawartosc
  112. GROUP BY idczekoladki
  113. ORDER BY suma DESC
  114.  
  115. 4.2
  116. SELECT idpudelka, sum(z.sztuk) as suma from zawartosc z
  117. JOIN czekoladki c USING(idczekoladki)
  118. WHERE c.orzechy IS NULL
  119. group by idpudelka
  120.  
  121. 4.4
  122. select idpudelka, sum(sztuk) as suma from artykuly
  123. group by idpudelka
  124. order by suma desc
  125. limit 1
  126.  
  127. 5.1
  128. SELECT EXTRACT(quarter from datarealizacji) as kwartał, COUNT(idzamowienia) FROM zamowienia
  129. GROUP BY EXTRACT(quarter from datarealizacji)
  130.  
  131. 5.2
  132. SELECT EXTRACT(month from datarealizacji) as miesiąc,
  133. EXTRACT(year from datarealizacji) as rok, COUNT(idzamowienia) FROM zamowienia
  134. GROUP BY EXTRACT(month from datarealizacji), EXTRACT(year from datarealizacji)
  135.  
  136. 5.4
  137. select miejscowosc, count(*) from klienci k join zamowienia z using(idklienta)
  138. group by miejscowosc
  139.  
  140. 6.1
  141. select sum(sub.masa) from (
  142. select z.idpudelka, sum(cz.masa*z.sztuk) as masa from zawartosc z join czekoladki cz using(idczekoladki)
  143. group by idpudelka
  144. ) as sub
  145.  
  146. 6.2
  147. select sum(sub.masa) from (
  148. select z.idpudelka, sum(cz.koszt*z.sztuk) as masa from zawartosc z join czekoladki cz using(idczekoladki)
  149. group by idpudelka
  150. ) as sub
  151.  
  152.  
  153. ///
  154. select sum(sub.masa*a.sztuk) from (
  155. select z.idpudelka, sum(cz.masa*z.sztuk) as masa from zawartosc z join czekoladki cz using(idczekoladki)
  156. group by idpudelka
  157. ) as sub join artykuly a using(idpudelka)
  158. ///
  159.  
  160.  
  161. 7.1
  162. with koszty as (
  163. select z.idpudelka, sum(cz.koszt*z.sztuk) as koszt from zawartosc z join czekoladki cz using(idczekoladki)
  164. group by idpudelka )
  165.  
  166. select p.idpudelka, p.cena-k.koszt as zysk from pudelka p join koszty k using(idpudelka)
  167.  
  168.  
  169. 7.2
  170. ...
Add Comment
Please, Sign In to add comment