SQL utolsó 10 sor lekérdezése?
Hogyan oldható meg, hogy az 'id' szerint az utolsó 10 sort irja ki, de sorrendben (tehát ha 30 sor van, akkor 20-tól 30-ig írja ki)?
Ezzel próbálkoztam, de ezzel az a gond, hogy fordított sorrendben irja ki (DESC miatt). Hogyha ASC-vel próbálkozom, akkor pedig csak az első 10 sor kerül kiírásra.
SELECT * FROM tábla ORDER BY id DESC LIMIT 10;
Hogyan oldható meg ez a lekérdezés?
most nem próbáltam ki, de úgy emlékszem, hogy a FROM után nem csak táblanevet adhatsz, hanem egy tetszőleges másik lekérdezést is bemenetként.
Próbáld ki így, a ...... helyére pedig azt a sort írod, amit te is írtál eddig.
Így 2 lekérdezés lesz egymásba ágyazva, de teljesen olyan lesz, mintha 1 lépésben készült volna.
SELECT *
FROM ( .....)
ORDER BY id ASC
Valami ilyesmire gondoltál?
SELECT *
FROM (SELECT * FROM tábla ORDER BY id DESC LIMIT 10)
ORDER BY id ASC;
Ha igen, ez a hibaüzenet:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY id ASC' at line 2
Egy lekérdezéssel gyorsabban fut és rövidebb a kód is:
(SELECT * FROM tábla ORDER BY id DESC LIMIT 10) ORDER BY id ASC
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!