Hmm.. johan taas keksin hyvän otsikon. mutta mulla on mysqlssä kasvava luku. mutta miten saisin sen helpoiten haettua. eli missä luvussa se on menossa. alottelin vasta mysqln opettelun ja en meinaa löytää apua tähän. khiitos!
(toivottavasti joku vielä vastaa tänä yönä. muuten tulee piiitkä yö minulle)
SELECT MAX(luku) FROM taulu
?
Jos luku ei ole taulun primary key ja jos rivejä on paljon ja luku ei ole indeksoitu sarake, saattaa MAX funktio olla hidas. Yksi vaihtoehto on tehdä taulu johon aina ‘kasvavaa lukua’ (?) kasvatettaessa viedään viimeksi käytetty luku. Ei ole nyt mysql käyTettävissä , eli en voi testatA tätä, periaate selvinnee kuitenkin.
Jos päivitetään olemassa olevaa riviä :
Update kasvavan_luvun_taulu set kasvava_luku = kasvava_luku + kasvu Where taulun_id=jotain Update apu_taulu set uusin_luku = uusin_luku + kasvu Where taulun_nimi= ‘kasvavan_luvun_taulu’
Tai lisätään uusi :
Insert into kasvavan_luvun_taulu (taulun_id, kasvava_luku) values (jotain, kasvu) Insert into apu_taulu (taulun_nimi, uusin_luku) values (‘kasvavan_luvun_taulu’, kasvu)
Elikkäs apu_taulussa on luvut / taulun nimi.
Nyt viimeksi käytetyn arvon saa :
Select uusin_luku from apu_taulu where taulun_nimi=’kasvavan_luvun_taulu’
Erot suoritusajoissa melkoisia kun rivejä on (kymmeniä) miljoonia…
jooh! ei ole onneksi kyseessä kuin muutama. ei miljoonia! :) mutta sain nyt toimimaan! kiitoksia avusta!
Aihe on jo aika vanha, joten et voi enää vastata siihen.