Miten haen taulusta, jossa on useita satoja rivejä 50 viimeistä riviä?
50 rivin haku
Blob
3364
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
Jos rivillä ei ole kellonaikaa ja päiväystä tai juoksevaa numeroa, niin et voi mistään tietää mitkä rivit on viimeksi lisätty. Myös eri lajittelukriteerit muuttavat palautettujen rivien järjestystä.
Jos pystyt jonkin kentän perusteella laittamaan rivit järjestykseen uusimmasta vanhimpaan, niin tulosjoukkoa saa rajattua TOP-ehdolla (Microsoft SQL Serverin T-SQL syntaksi):
-- Tämä kysely hakee kaikki rivit taulusta foobar, järjestää ne laskevaan järjestykseen
-- sarakkeen barfoo mukaan ja palauttaa tuloksesta 50 ensimmäistä riviä
SELECT TOP 50 *
FROM foobar
ORDER BY barfoo DESC
Tekstitiedostosta sama onnistuu komennolla:
tail -50 tiedostonnimi
Windows-versiot tail:sta ja muista gnu-työkaluista löytyy osoitteesta http://unxutils.sourceforge.net
*SELECT TOP 50 *
FROM foobar
ORDER BY barfoo DESC*
myslillä SELECT *
FROM foobar
ORDER BY DESC barfoo LIMIT 50
Ja aina kannattaa pistää tietokanta tietoihin id numerointi, noin pystytään poistamaankin tietoja jne...
Jos tietokantasi on MySql niin voit hakee 50 viimeistä tekemällä haun "SORT BY *********** ASCENDING"
ja sitten ihan kyselyn loppuun kova rivimääräpakotus serverille: "LIMIT 50"
Muista sqllistä en sitten tiedä.