Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Vybrat prvních 33 záznamů s typem 0 a prvních 6 s typem 1*

Falcon
verified
rating uzivatele
(11 hodnocení)
17. 8. 2011 12:01:45
Tohle mi vypise tabulku hráčů + jejich body .. jenze.. nektere turnaje jsou tzv. "Double" a nektere "Single".. ja potrebuju, aby ten dotaz bral POUZE 33 nejlepších (nejvíc bodů ve sloupci body) single a 6 double.. protože v této lize se prostě víc turnajů nepočítá.. Tzn.. když někdo bude mít 50 single odehraných turnajů a 10 double odehraných, tak chci, aby tabulka počítala pouze 33 single nejlepších a 6 nejlepších double.. sečetla body a podle toho seřadila data..
single poznáš tak, že v tabulce "turnaje_hraci" ve sloupci "typ" = 0
double to samé, akorát "typ" = 1
Nedari se mi to vubec dat dokupy, uz se v tom zamotavam..
17. 8. 2011 12:01:45
https://webtrh.cz/diskuse/vybrat-prvnich-33-zaznamu-s-typem-0-a-prvnich-6-s-typem-1/#reply667706
hm
verified
rating uzivatele
(20 hodnocení)
17. 8. 2011 15:38:14
posli strukturu db, samotnej dotaz mi tak narychlo nepomuze ti pomoci :) ale pravdepodobne to budou resit subdotazy... jen je bez struktury nedokazu sepsat :)
17. 8. 2011 15:38:14
https://webtrh.cz/diskuse/vybrat-prvnich-33-zaznamu-s-typem-0-a-prvnich-6-s-typem-1/#reply667705
Falcon
verified
rating uzivatele
(11 hodnocení)
17. 8. 2011 15:49:45
Napsal Aleš Jiříček;690733
posli strukturu db, samotnej dotaz mi tak narychlo nepomuze ti pomoci :) ale pravdepodobne to budou resit subdotazy... jen je bez struktury nedokazu sepsat :)
posílám, díky
turnaje_hraci
id
turnaj
typ (0 nebo 1 (single nebo double))
id_hrac
body
umisteni
zebricek
hraci
id
jmeno,prijmeni atp. (neni v tomto pripade potreba)
zebricky_prirazeni
id_zebricku
id_hrace
17. 8. 2011 15:49:45
https://webtrh.cz/diskuse/vybrat-prvnich-33-zaznamu-s-typem-0-a-prvnich-6-s-typem-1/#reply667704
hm
verified
rating uzivatele
(20 hodnocení)
17. 8. 2011 22:56:40
porad tu strukturu uplne nechapu, normalne je mi to jasne :D ale mohl bys dodat komentar k te strukture a vice to popsat? nejlip treba i ten dotaz cos uz poslal proc si delal zrovna to co jsi delal? ja byhc tu db uprimne navrhnul troch jinak, ale treba to chapu jen spatne :)
17. 8. 2011 22:56:40
https://webtrh.cz/diskuse/vybrat-prvnich-33-zaznamu-s-typem-0-a-prvnich-6-s-typem-1/#reply667703
Falcon
verified
rating uzivatele
(11 hodnocení)
18. 8. 2011 10:14:40
Napsal Aleš Jiříček;690733
posli strukturu db, samotnej dotaz mi tak narychlo nepomuze ti pomoci :) ale pravdepodobne to budou resit subdotazy... jen je bez struktury nedokazu sepsat :)
turnaje
id
nazev
turnaje_hraci - uchovává informace o tom, jak dopadl který hráč na jakém turnaji
id
turnaj - ID turnaje (spárování s tabulkou turnaje)
typ (0 nebo 1 (single nebo double))
id_hrac - ID hráče (spárování s tabulkou hráči)
body - body, které získal hráč na daném turnaji
umisteni - kolikátý se hráč umístil na daném turnaji
hraci
id
jmeno,prijmeni atp. (neni v tomto pripade potreba)
zebricky_prirazeni
id_zebricku (žebříčky jsou 3 = muži, ženy, junioři.. ID slouží pro spárování)
id_hrace (spárování s hráčem (hráč může být ve 2 žebříčcích zároveň, proto je to řešené takto))
Víc by toho nemělo být potřeba.. Potřebuji do toho mého dotazu vlastně dostat subdotaz s LIMITem a WHERE podmínkou (WHERE typ = 0 order by body desc LIMIT 33 + WHERE typ = 1 order by body desc limit 6) sečíst body těchto dvou subdotazů a podle nich to seřadit
18. 8. 2011 10:14:40
https://webtrh.cz/diskuse/vybrat-prvnich-33-zaznamu-s-typem-0-a-prvnich-6-s-typem-1/#reply667702
takatom
verified
rating uzivatele
(2 hodnocení)
18. 8. 2011 11:06:37
K výsledku pak dojoinovat potřebné údaje.
Počítá se pro každý žebříček zvlášť, optimálně dodat ke každému žebříčku počet započítaných utkání v jednotlivých (obou) typech
set @hrc=-1;
set @typ=-1;
set @por=0;
select xx.*
from
(
select x.*,
@por:= case when @hrc=x.id_hrac and @typ=x.typ then @por+1 else 1 end as poradi,
@hrc:= x.id_hrac,@typ:= x.typ
from (select * from turnaje_hraci where rebricek=xxxx order by id_hrace,typ,body desc)x
)xx where (typ=0 and poradi<34) or (typ=1 and poradi<7)
---------- Příspěvek doplněn 18.08.2011 v 11:09 ----------
Uvedená struktura nedovolí, aby hráč figuroval ve více žebříčcích, stačilo by však vyřadit žebříček z turnaje_hraci a použít žebříček z vazby na zebricky_prirazeni
18. 8. 2011 11:06:37
https://webtrh.cz/diskuse/vybrat-prvnich-33-zaznamu-s-typem-0-a-prvnich-6-s-typem-1/#reply667701
Václav Mach
verified
rating uzivatele
(13 hodnocení)
21. 8. 2011 21:50:11
ne že bych tu strukturu studoval ale ze zadání si to říká o dva dotazy spojené přes UNION
21. 8. 2011 21:50:11
https://webtrh.cz/diskuse/vybrat-prvnich-33-zaznamu-s-typem-0-a-prvnich-6-s-typem-1/#reply667700
Pro odpověď se přihlašte.
Přihlásit