Autor Zpráva
kOsTEj
Profil
Ahoj, mam problem, podobnej jako naposled, pomohl me Leo, moc dik este,ale k veci...
Mam tabulku hracu, a tabulku kde je u kazdyho zaznamu ID_zapasu, ID_strelce,ID_asistenta... a ted potrebuji vypsat nejproduktivnejsiho hrace,tzn. secist pocet ID_strelce a ID_asistenta a seradit podle ID_hracu...dik moc

btw. nakej server, kde si vsecko tohle najedu a nebudu se tu porad ptat?

ja zkousel tohle,ale vypisuje me to 2x tolik...

$sql = mysql_query("SELECT pl.ID, pl.name, (COUNT(sc.ID_ass)+COUNT(sc.ID_sc)) AS pocet
FROM players AS pl LEFT JOIN scorers AS sc ON pl.ID=sc.ID_ass OR pl.ID=sc.ID_sc GROUP BY pl.ID ORDER BY pocet DESC");
Kajman
Profil *
Problém bude v tom, že count vyhodí počet řádků. Proto když se sečtou dva, tak je to dvojnásobné. Pokud se nemůže stát. Vzhledem k tomu, že by asi byla blblost, kdyby mohl skorovat i mít asistenci, tak bych libovolné z toho count smáznul a hotovo. Teď si nejsem jistý, ale možná bude mít v tomhle selectu každý alespoň jeden řádek vzhledek k left join a tedy alespoň jeden bod.

K řazení, asi ORDER BY 1. Pokud to má být podle počtu bodů a pak terpve podle id, tak ORDER BY pocet DESC, 1.
Kajman
Profil *
Aha, takže count nepřičte null řádky, takže by to mělo být ok.
kOsTEj
Profil
Pomohlo to smaznout, tak snad to poslape, zatim dik...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0