Citat:
Da mi je da izvucem sve tagove za idrecept = 5; al da imam jedno polje koje ce mi reci koliko je tag s tim nazivom biti koristen. Probao sam
SELECT t.*, COUNT(*) AS num FROM ottag t WHERE idrecept='5' GROUP BY nazivtag
ako ja tebe nesto razumem ?
sta ovaj upit predstavlja ?!?!?
posto imas group by nazivtag, kakve su ti ocekivane vrednosti t.* ??? ako imas vise vrednosti za t.* za isti nazivtag koju vrednost ocekujes da dobijes? prvu? najvecu? poslednju? neku? ...
Citat:
al on prebroji dobro, al COUNT gleda na osnovu ovog WHERE idrecept='5', a htio bih da zanemari taj WHERE kod brojanja. Sad kad otvorim prikaz, gdje su tagovi da prikazuje
cevapi (2), pizza (1)
count() je agregaciona funkcija koja gleda ono po cemu radis group by - u ovom slucaju nazivtag
group by grupise rezultate prethodnog dela upita, dakle where idrecept='5' (zasto je 5 pod navodnicima ?!?!? zasto poredis integer i string ?!?!?)
ne mozes da kazes upitu da neke uslove gleda za nesto a neke druge za nesto drugo ... ne ide to tako ... ceo upit je is starta pogresan (vrednost koju dobijas za t.* je kompletno beskorisna / nekonzistentna)
procitaj, ali detaljno:
http://dev.mysql.com/doc/refman/5.1/en/select.html
http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html
to sto tebi verovatno treba moze da se izvuce self join-om ali kako si postavio pitanje...