» »

SQL select težava

SQL select težava

Trinitron ::

Torej, mam sledeči problem (poenostavljeno):

Tabele:
SKUPINA (id_skupine, ime_skupine, datum_zadnje_tekme)
CLAN (id_clana, id_skupine, ime, priimek)

Rad bi dobil tak izpis: (ime_skupine, število članov) sortiran bo datumu zadnje tekme - novejši najprej.

Razmišljam v tej smeri:
SELECT s.ime_skupine, COUNT(c.id_clana)
FROM skupina s, clan c
WHERE s.id_skupine=c.id_skupine
GROUP BY s.ime_skupine
ORDER BY s.datum_zadnje_tekme DESC

Uporabljam bazo Firebird (kar niti ne vem če je relevantno), dobim pa error:
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
Brez "order by" pa sicer dela...

Kakšna ideja?

Trinitron ::

Ok, rešitev je očitno

SELECT s.ime_skupine, COUNT(c.id_clana)
FROM skupina s, clan c
WHERE s.id_skupine=c.id_skupine
GROUP BY s.ime_skupine, s.datum_zadnje_tekme
ORDER BY s.datum_zadnje_tekme DESC

čeprav nimam pojma zakaj moram grupirati tudi po datumu...
Vseeno hvala :)

BlueRunner ::

ORDER BY doda polje na seznam polj, ki se upoštevajo pri rezultatu, čeprav se ga dejansko ne izpiše. "SELECT ... GROUP BY" stavek zahteva, da so pri GROUP BY navedena vsa polja, ki se jih bo upoštevalo (posredno ali pa neposredno). To pomeni, da morajo biti pri njemu navedena tudi polja, ki se sicer nahajajo v GROUP BY.

Teorija pač....

Trinitron ::

Aha, hvala za pojasnilo :)
Nisem vedel da ORDER BY doda polje na select list in me je zato sporočilo o napaki malo zavedlo... ;)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Podatkovne baze - SQL enostavne poizvedbe

Oddelek: Programiranje
72033 (1626) galu
»

[SQL] PgAdmin preprosto vprasanje povezano s stolpci v tabeli

Oddelek: Programiranje
222174 (1533) Cvele2011
»

MYSQL vprašanje

Oddelek: Programiranje
131761 (1376) MrBrdo
»

SQL poizvedba

Oddelek: Programiranje
152146 (1656) borchi
»

SQL seštevanje

Oddelek: Izdelava spletišč
121523 (1307) pizdarija1

Več podobnih tem