| Autor | Zpráva | ||
|---|---|---|---|
| svast Profil |
#1 · Zasláno: 15. 5. 2011, 18:41:00
Zdravím, chci propojit dvě tabulky, zkoušel jsem i několik podobných řešení tady, ale výsledek je pořád jiný než potřebuji. V tabulce jsou články a v tabulce2 jsou k nim komentáře a hodnocení (CISLO=ID). Potřebuji seřadit články z tabulky sestupně jen podle počtu 5 bodových hodnocení, takže ne podle SUM, kdy by byl výsledek (2,1,3), ale chtěl bych něco s count(hodnoceni) WHERE hodnoceni=5, tedy výsledek (2,3,1).
Zkoušel jsem tohle: SELECT tabulka.id, tabulka.nazev, tabulka2.cislo,tabulka2.hodnoceni FROM tabulka JOIN tabulka2 ON tabulka.id = tabulka2.cislo WHERE tabulka2.hodnoceni=5 ORDER BY COUNT(tabulka2.hodnoceni) DESC LIMIT 10 Hlásí mi to chybu kvůli toho řazení, prostě nemůžu zjistit jak to přesně napsat. Díky tabulka ID | NAZEV 1 | prvni 2 | druhy 3 | treti tabulka2 CISLO | HODNOCENI 1 | 4 2 | 5 3 | 2 1 | 3 2 | 5 2 | 4 3 | 5 1 | 4 |
||
| Kajman_ Profil * |
#2 · Zasláno: 15. 5. 2011, 19:44:42
SELECT tabulka.id, tabulka.nazev, t.cislo, 5 hodnoceni FROM tabulka JOIN (select tabulka2.cislo, COUNT(tabulka2.hodnoceni) pocet from tabulka2 where tabulka2.hodnoceni = 5 group by tabulka2.cislo) t ON tabulka.id = t.cislo ORDER BY t.pocet DESC LIMIT 10 |
||
| svast Profil |
#3 · Zasláno: 15. 5. 2011, 20:32:16
aha, tak to bych přemýšlel ještě hodně dlouho, každopádně to funguje, dík. Chtěl jsem to trochu doladit, ale z tohoto jsem trochu mimo, mohl by jste mi ještě poradit jak přidat řazení podle tabulka.nazev v případě, že v tabulka2.hodnoceni jsou dvě stejné hodnoty? Tzn. pokud se vyskytne více řádků se stejným číslem seřadí se dál podle abecedy.
|
||
| Kajman_ Profil * |
#4 · Zasláno: 15. 5. 2011, 23:37:25
ORDER BY t.pocet DESC, tabulka.nazev |
||
| svast Profil |
#5 · Zasláno: 16. 5. 2011, 21:53:37
:-) a já jsem zkoušel
ORDER BY t.pocet, tabulka.nazev DESC |
||
|
Časová prodleva: 14 let
|
|||
0