Vyber dat podle poradi

Michal Krause michal na krause.cz
Pondělí Březen 26 10:22:03 CEST 2001


On 26/03/2001, Karel Zak wrote:

> > Samozrejme, ze poradi neni pole tabulky, to je treba dynamicky
> > vytvorit podle hodnoty. Ja pak potrebuji vybrat treba radky, pro nez
> > plati, ze (poradi>=2 and poradi<=4).
> > Zkousel jsem ruzne hratky s uzivatelskymi promennymi, ale k
> > pozadovanym vysledkum to nevedlo. Doposud jsem to delal tak, ze jsem
> > SELECToval vse a poradi vyresil az v ramci programu, ale jak se ta
> > tabulka postupne rozrusta, neni to uplne idealni. Napadlo by nekoho,
> > jak tenhle proces zoptimalizovat?
> 
> Bud pouzit SQL server majici LIMIT a OFFSET a nebo se pokust pouzit

Priznam se, ze ted nerozumim. MySQL LIMIT ma, ale nejak mi unika, jak
toho v tomto pripade vyuzit? Nebo je to jiny LIMIT?

> temp tabulku a resit to dvema dotazama.

Tohle reseni by bylo pouzitelne, ale problem vidim hlavne v tom, jak
vytvorit to pole s poradim.

To jsem prave zkousel dosahnout pomoci uzivatelskych promennych v MySQL,
ale nepovedlo se mi to dat dohromady. Zkousel jsem neco jako:

SELECT @pos:=0, @prev_val:=0;
SELECT IF(@prev_val<>hodnota, @pos:=(@pos + 1), @pos), hodnota,
@prev_val:=hodnota FROM tabulka ORDER BY hodnota DESC;

ale to bohuzel nefunguje, jak bych si predstavoval (respektive vubec).
Jakmile bych s timhle uspel, bylo by to snadne.

S pozdravem
-- 
Michal Krause                                                       /\
ICQ: 7665279            Informace (nejenom) ze sveta Linuxu      /\/  \
email: michal na krause.cz _______ http://www.root.cz/ _______ NAVRCHOLU.cz

Vseci by chceli byt van Goghmi, ale odrezat si ucho ani jeden.
                                                  J. Raz ve filmu Rabaka


Další informace o konferenci Databases