Autor | Zpráva | ||
---|---|---|---|
buvl897 Profil * |
#1 · Zasláno: 4. 5. 2012, 12:14:39
Ahojte,
mam tabulku s takymito udajmi: ID, ID_USER, ID_CLANOK, KOMENT, RATING(int). A chcel by som jednym SQL dotazom, dostat pre kazdeho pouzivatela pre dany 1 clanok, najlepsie hodnoteny komentar. Priklad 1 1 1 "komentar1" 20 1 2 1 "komentar4" 60 1 1 1 "komentar2" 40 1 1 1 "komentar3" 50 1 2 1 "komentar5" 20 dostanem: 1 2 1 "komentar4" 60 1 1 1 "komentar3" 50 (teda vypisem najlepsi komentar pre kazdeho pouzivatea pre dany 1 clanok). Da sa to vobec 1 dotazom? Dakujem velmi pekne. |
||
Kajman Profil |
SELECT t1.* FROM tabulka t1 JOIN (SELECT t2.ID_USER, t2.ID_CLANOK, Max(t2.RATING) RATING FROM tabulka t2 # WHERE t2.ID_CLANOK=1 # pripadne omezeni na jeden jediny clanek GROUP BY t2.ID_USER, t2.ID_CLANOK) t3 ON t1.ID_USER = t2.ID_USER AND t1.ID_CLANOK = t2.ID_CLANOK AND t1.RATING = t3.RATING # GROUP BY t1.ID_USER, t2.ID_CLANOK # pripadne dalsi group by pro vynechani vice stejne hodnocenych komentaru |
||
Časová prodleva: 12 let
|
0