.[ ČeskéHry.cz ].
select mysql

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
DespeRadoX



Založen: 28. 07. 2007
Příspěvky: 520

PříspěvekZaslal: 21. srpen 2007, 23:54:24    Předmět: select mysql Odpovědět s citátem

zdravim, asi to bude lamerska otazka ale ako nejak elegantne spravim vyrez z tabulky v mysql? potrebujem konkretnu poziciu v tabulke +3 a -3 riadky , potrebujem zobrazit score hraca v nekonecne dlhej tabulke zoradenej podla score aby videl 3 pred sebou a 3 zasebou.
je na to nejaky prikaz ktory som prehliadol?
dik za pomoc
_________________
http://www.touchgames.eu/
http://playito.com
TW: @Despo100
Space Merchants Online ...zruseny, pracujem na mobilnej verzii space merchantu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 22. srpen 2007, 00:25:24    Předmět: Odpovědět s citátem

Nejjednodussi co me napada je udelat dvojity dotaz
SELECT * FROM ... WHERE Score < mojeScore ORDER BY Score DESC
a vybrat prvni tri (tri s nizsim score). Potom udelat druhy
SELECT * FROM ... WHERE Score >= mojeScore ORDER BY Score
a opet vybrat prvni tri (tri s vyssim nebo stejnym score). Samozrejmosti zde je index pres sloupec Score.

Jina moznost je udelat jenom jeden SELECT ... ORDER BY Score a postupne prochazet vysledky, dokud nenajdes ty pozadovane. Coz pri vetsim poctu zaznamu muze byt pomerne neefektivni reseni.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 22. srpen 2007, 06:05:19    Předmět: Odpovědět s citátem

v MySQL je pekny vyraz LIMIT

select * from tabulka limit 10 - zobrazi 10 zaznamu (max)
select * from tabulka limit 10, 10 - zobrazi 10 zaznamu (max) od desateho
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
DespeRadoX



Založen: 28. 07. 2007
Příspěvky: 520

PříspěvekZaslal: 22. srpen 2007, 07:23:13    Předmět: Odpovědět s citátem

jj toto vsetko poznam nieje to to co som chcel ale vypada to ze sa tomu nevyhnem ,cakal som nejaky prikaz podobny LIMIT (ale bere len vyrez) ktory existuje ale nevsimol som si ho v dokumentacii,
btw v mojom pripade by bol limit pouzitelnejsi keby bral aj zapornu hodnotu kedze potrebujem aj 3 pred sebou, no co uz diky moc za snahu.
_________________
http://www.touchgames.eu/
http://playito.com
TW: @Despo100
Space Merchants Online ...zruseny, pracujem na mobilnej verzii space merchantu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Chjoodge



Založen: 30. 07. 2007
Příspěvky: 145

PříspěvekZaslal: 22. srpen 2007, 09:34:50    Předmět: Odpovědět s citátem

DespeRadoX napsal:
btw v mojom pripade by bol limit pouzitelnejsi keby bral aj zapornu hodnotu kedze potrebujem aj 3 pred sebou, no co uz diky moc za snahu.

Do Limitu nemůžeš dát zápornou hodnotu, ale můžeš si ten výsledek tabulky seřadit obráceně:
kód:
SELECT * FROM ... WHERE Score > mojeScore ORDER BY Score ASC LIMIT 3

- Vyhodí tři záznamy s nejbližším větším score (vzestupně podle score).
kód:
SELECT * FROM ... WHERE Score < mojeScore ORDER BY Score DESC LIMIT 3

- Vyhodí tři záznamy s nejbližším nižším score (sestupně podle score).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 22. srpen 2007, 09:38:41    Předmět: Odpovědět s citátem

ja bych to trochu vylepsil Wink

kód:
SELECT * FROM (SELECT * FROM ... WHERE Score > mojeScore ORDER BY Score ASC LIMIT 3) ORDER BY Scode DESC


a pak uz se jenom spoji 3 seznamy Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
DespeRadoX



Založen: 28. 07. 2007
Příspěvky: 520

PříspěvekZaslal: 22. srpen 2007, 14:56:41    Předmět: Odpovědět s citátem

chlapi diky , moc ste mi pomohli
_________________
http://www.touchgames.eu/
http://playito.com
TW: @Despo100
Space Merchants Online ...zruseny, pracujem na mobilnej verzii space merchantu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna