ugrás a tartalomhoz

ntile-szerűség mysql alatt

Anonymous · 2006. Május. 8. (H), 01.28
Sziasztok!

Adott egy tábla, aminek a tartalmat egy oszlop alapján 10, méretileg kb. egyező részre kéne bontani.
Egészen pontosan a táblában cikk címek vannak, és automata menügeneráláshoz kéne, hogy magától felossza mondjuk 1-A, B-D, E-G... stb. részekre, úgy hogy minden kattintásra kb. hasonló mennyiségű adat jelenjen meg.

Tehát fel kéne darabolni 10 részre az egész táblát és a határolókat kéne megkapni.
Ha az egész táblát lekérdezem, akkor abból php-val már ki lehetne szedni, de azért egy nagyobb táblát mindig teljesen beolvasni nem túl elegáns/hatékony.
Az is jó lenne, ha meg tudnám mondani, hogy kérem egy táblából egy bizonyos rendezés szerinti sum/10, 2*sum/10, 3*sum/10-edik elemet, lehetőleg minnél kevesebb lekérdezéssel. (sum az összes sort jelöli, és 10 részre bontanám itt most.)
(oracle alatt az NTILE() függvény csinál ehhez hasonlót.

Köszi előre is!
 
1

limit?

Anonymous · 2006. Május. 8. (H), 07.55
Az is jó lenne, ha meg tudnám mondani, hogy kérem egy táblából egy bizonyos rendezés szerinti sum/10, 2*sum/10, 3*sum/10-edik elemet, lehetőleg minnél kevesebb lekérdezéssel. (sum az összes sort jelöli, és 10 részre bontanám itt most.)


ha tudod hány sor van a táblában (select count(*) as sum from tabla), akkor a
lekérdezések végére rendre írd be, hogy
limit 0, 1
limit (sum/10), 1
limit 2*(sum/10), 1
stb.

doksiban szebben le van írva, de gyakorlatilag megadhatod, hogy hanyadik elemtől hányat kérsz.

gex
2

ismerem...

Anonymous · 2006. Május. 8. (H), 08.30
Ismerem, gondoltam erre én is, de ez legalább 10 lekérdezést jelentene.
Valami kis csel, okosság nem jut senki eszébe? :)