Autor Zpráva
ajajaj
Profil
Ahoj, prosím o pomoc, dostal jsem do situace, kdy sice tuším jak bych na to měl jít, ale už je to na mě moc složité... a navíc těch cest k výsledku bude asi víc...

mám 3 tabulky: zavodnici (id, jmeno,...), zavody (id, nazev, kde,...), vysledky (id,idzavodnik,idzavod,body,rok)

kýžený výsledek: vytvořit tabulku závodníků dle dosažených bodů pro daný rok s těmito sloupci ( jméno | počet závodů celkem | součet bodů z 6 | pořadí )
platí tato kriteria: počítá se 6 nejlepších závodů (součet bodů) z nichž maximálně 2 mohou být zahraniční (zavody.kde=zahranicni) , při stejném součtu bodů je lepší ten, kdo má méně závodů za daný rok

mám kod jehož výsledkem jsou data kde mám seřazené výsledky jednotlivých závodníků, celkový počet závodů a údaj jestli je to zahraniční, nebo ne. A ted to s čím si nevím rady. Jak očíslovat/označit rankem ty řádky, které pak následně sečtu abych dostal součet 6 závodů s podmínkou max 4+2 zahraniční.
Kajman
Profil
Pokud máte databázi, ve které jsou implementovány analytické funkce, tak je to brnkačka. Pokud máte mysql, tak ta na to není příliš vhodná a výpočty řešte v aplikační vrstvě (např. php).
ajajaj
Profil
Kajman:
ok, děkuji, právě že mysql, takže to proženu phpkem
Kajman
Profil
ajajaj:

Ani nemůžete přejít na MariaDB 10.2?
mariadb.com/kb/en/mariadb/row_number
ajajaj
Profil
Kajman:
děkuji za doporučení, vypadá to zajímavě...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: