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!;-)
Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty
Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty
1] Nejvynosnejsi prepady za jednotliva leta (z hlediska sumy vykupneho)
Budu rad za feedback, co na to rikas - je to dobre / spatne
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)
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW
Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty
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.
-
- Matfyz(ák|ačka) level I
- Příspěvky: 7
- Registrován: 29. 10. 2009 18:12
- Typ studia: Informatika Bc.
- Login do SIS: zbytovsp
Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro pi
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:
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