Diskuze: Tabulka nejlepších hráčů v sql databázi
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
???
-- ulozi skore
INSERT INTO `tab_skore` (`id_user`, `id_hra`, `value`) VALUES (123, 456, 1111)
-- vybere top10 pro id_hra=456 (vyber vse, serad od nevetsiho podle sloupce value, vrat prvnich 10)
SELECT `id_user`, `value` FROM `tab_skore` WHERE `id_hra`=456 ORDER BY `value` DESC LIMIT 10 -- nebo LIMIT 0,10
Cili, ukladam vse. Pripadne muzes pouzit UPDATE / REPLACE, prepsat hracovo posl. skore, pokud uz v tabulce existuje.
Nevidim prinos v tom zapisovat jenom nejvyssi skore, pokud se hrac dostane do tabulky. Kdyz se tam nedostane, tak nemuze prekonavat osobni rekord. Tabulka bude mit velmi brzo takova skore, ze to novacky nebude bavit.
Samozrejme by to slo realizovat. Stejnym SELECT dotazem.
SELECT `id_user`, `value` FROM `tab_skore` WHERE `id_hra`=456 ORDER BY `value` DESC LIMIT 10
Hracovo skore porovnas s posledni hodnotou z dotazu.
Jak tedy udělám podmínku pokud chci aby se data do tabulky dostali pokud je(není) výsledek lepší než těch top 10?
Cau, mozna spis udelej select top 10 from tabulka order by score desc nebo select * from tabulka order by score desc limit 10.
Nedelam ve VB.
Vytahl bych z db top10. Porovnal skore s posledni hodnotou. A bud bych pridal
INSERT nebo nic.
Sice bude v sql tabulka neustale narustat, ale to nevadi, neni toho tolik a
usetris si dalsi kod. Top10 sql dotaz ti vytahne vzdy spravnych top10.
A kdyby to vadilo, tak muzes jednou za cas (tyden) pridat DELETE.
Ale mozna, ze by bylo naopak vyhodou mit historii, videt, jak se ktery hrac
zlepsuje nebo vedet, na ktere pozici je hrac v tabulce. A daji se tyto informace
pouzit pro boj s hackery a podvodniky s podvodnymi programy. Muzes tak detekovat
anomalie.
Jo tak bylo by fajn kdyby jsme to mohli udělat třeba přes vs live share. Potřebuji už to mít. Kdyztak mi napiš na mruj emal - rojtomas@email.cz
Co znamená "výsledek lepší než top 10"?
Nestačí vědět, jestli je výsledek vyšší než dosavadní existující
výsledek?
Nejvyšší dosavadní výsledek:
SELECT MAX(score) FROM tabulka
Potřebuji aby mi někdo přímo napsal kód deadline je blízko
Zobrazeno 10 zpráv z 10.