Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro pi

od zbytovsky » 12. 1. 2011 11:27

ad 1) tohle by určitě nefungovalo, protože když použijeme GROUP BY xxxx, v SELECT smí být pouze xxx a libovolné agregační funkce.

Na cvičení jsme to tuším řešili (nestandardně) přes LIMIT:

Kód: Vybrat vše

   SELECT Lod.Nazev, Year(tab1.Datum), suma
   FROM
     ( -- zjistim si, kolik ziskali pirati na danem prepadu
       SELECT Prepad.Datum, Prepad.LodID, Sum(SkutecneVykupne) AS suma
       FROM Prepad NATURAL JOIN UnosOsoby
       WHERE UnosOsoby.JeZajmut = FALSE          -- uz je propusten za vykupne
       GROUP BY Prepad.Datum, Prepad.LodID
     ) AS tab1, Lod
   WHERE Lod.ID = tab1.LodID
   GROUP BY Year(tab1.datum)
   ORDER BY suma DESC LIMIT 1

Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

od Wideman » 9. 6. 2009 23:32

Je to sice silně OT, ale protože jsem zrovna tuhle verzi testu psal, tak jsem to nemohl přejít: http://technet.idnes.cz/v-praze-vznika- ... chnika_nyv Třeba jsme svými ER modely přispěli k tvorbě tohoto systému a ani o tom nevíme. To přece nemůže bejt náhoda. :D

Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

od Him » 8. 6. 2009 20:49

1] Nejvynosnejsi prepady za jednotliva leta (z hlediska sumy vykupneho)

Kód: Vybrat vše

   SELECT Lod.Nazev, tab1.Datum, Max(suma)
   FROM 
     ( -- zjistim si, kolik ziskali pirati na danem prepadu
       SELECT Prepad.Datum, Prepad.LodID, Sum(SkutecneVykupne) AS suma 
       FROM Prepad NATURAL JOIN UnosOsoby
       WHERE UnosOsoby.JeZajmut = FALSE          -- uz je propusten za vykupne
       GROUP BY Prepad.Datum, Prepad.LodID 
     ) AS tab1, Lod
   WHERE Lod.ID = tab1.LodID 
   GROUP BY GetYear(tab1.datum)
Budu rad za feedback, co na to rikas - je to dobre / spatne :)
Přílohy
shot00031.png

Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

od beny » 2. 6. 2009 17:11

Ahoj!
Chtel jsem se zeptat lidi, kteri psali zkouskovou pisemku 26.5. a meli oddeleni se somalskymi piraty, jestli by tady nemohli napsat SQL dotazy z druheho prikladu. Tedy dotazy na 1)dvojice rok a prepad, kde prepad je nejvynosnejsim prepadem roku a 2)jmeno ziveho pirata, ktery prepadl nejvetsi pocet americkych lodi.
Diky za jakoukoli odpoved!;-)

Nahoru