Forum » Programiranje » [Sql] Vprasnji
[Sql] Vprasnji
piki12 ::
Pozdravljeni, zanima me kaj je z naslednjo poizvedbo narobe:
jaz bi rekel da da drži a, naj me prosim kdo potrdi.
Tukaj pa se ne morem odločit:
Govorimo o standardu, sicer glede da mysql izvede kakorkoli ni potrebno da je po standardu, vendar ok tole naj bo po standardu.
Naj prosim kdo pomaga,
lp
piki
SELECT village, population
FROM naselje
GROUP BY population
HAVING COUNT(*) > 1;
a. Atribut 'village' ne sme biti v SELECT delu stavka, ker ni skupinski atribut.
b. COUNT(*) ne more biti v HAVING delu, ker se COUNT(*) ne nahaja v SELECT delu stavka.
c.
Ni napak.
d. Atribut 'population' ne sme biti v SELECT delu stavka, ker ni skupinski atribut.
e. Manjka WHERE del stavka, ki je potreben.
jaz bi rekel da da drži a, naj me prosim kdo potrdi.
Tukaj pa se ne morem odločit:
SELECT i.pid, i.player, COUNT(*)
FROM igralec i JOIN naselje n USING(pid)
GROUP BY i.pid, i.player ali bi samo dal i.pid;
Govorimo o standardu, sicer glede da mysql izvede kakorkoli ni potrebno da je po standardu, vendar ok tole naj bo po standardu.
Naj prosim kdo pomaga,
lp
piki
- spremenilo: piki12 ()
drola ::
Pri prvem si pravilen odgovor ugotovil že sam, pri drugem pa je odvisno od tega kaj i.player in i.pid pomenita in kaj sploh hočeš naredit.
https://drola.si
piki12 ::
Baza je naslednja:
#aliansa(aid, alliance)
#igralec(pid,player,#tid,#aid)
#naselje(id, vid, village, x, y, population, #pid)
#pleme(tid, tribe)
Naredit pa: Za vsakega igralca želimo izpisati število njegovih naselij.
#aliansa(aid, alliance)
#igralec(pid,player,#tid,#aid)
#naselje(id, vid, village, x, y, population, #pid)
#pleme(tid, tribe)
Naredit pa: Za vsakega igralca želimo izpisati število njegovih naselij.
win64 ::
SELECT i.pid, i.player, COUNT(*)
FROM igralec i JOIN naselje n USING(pid)
GROUP BY i.pid, i.player ali bi samo dal i.pid
V tem primeru potrebuješ oboje v group by: i.pid in i.player.
Zgodovina sprememb…
- spremenil: win64 ()
Tody ::
Pri group by moraš vse kar imaš v selectu dat tudi v group by edina izjema so postavke, ki imajo funkcije zdraven, torej count, max, min, avg itd...
Torej pri prvi nalogi moreš dodati v group by ali izbrisati iz selecta
Isto pri drugi, nalogi, ki je pa že v začetku grdo narejena :)
Torej pri prvi nalogi moreš dodati v group by ali izbrisati iz selecta
Isto pri drugi, nalogi, ki je pa že v začetku grdo narejena :)
piki12 ::
Hvala, sej se mi je dozdeval, da je tako sam nisem bil 100%, to so kvizi kjer je škoda točke izgubljat ;), mysql ni točen, pa kar naredi, in kar nastane nastane :S
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kje gledati 4. sezono Sherlocka?Oddelek: Loža | 4583 (3295) | Phantomeye |
» | SQL poizvedbaOddelek: Programiranje | 3249 (2594) | awy |
» | Netflix se opravičuje za podražitve, izposojo DVDjev prenaša na hčerinsko podjetjeOddelek: Novice / Omrežja / internet | 4334 (3799) | techfreak :) |
» | Pomoč pri SQLOddelek: Programiranje | 914 (716) | gokky |
» | iPlayer gre v svetOddelek: Novice / Ostalo | 3407 (2811) | PrimozR |