我想问一下如何显示倒数第二行的数据?
+----+------------------+-------+
| id | nama_makanan | harga |
+----+------------------+-------+
| 1 | Ayam Katsu | 18000 |
| 2 | Udon Daging Sapi | 26000 |
| 3 | Mie Ramen Gila | 24000 |
| 4 | Cah Kangkung | 16000 |
| 5 | Sayur Nangka | 10000 |
+----+------------------+-------+
例如,如果像这样使用限制:
SELECT * FROM tbl_makanan ORDER BY id ASC LIMIT 1,4
结果:
+----+------------------+-------+
| id | nama_makanan | harga |
+----+------------------+-------+
| 2 | Udon Daging Sapi | 26000 |
| 3 | Mie Ramen Gila | 24000 |
| 4 | Cah Kangkung | 16000 |
| 5 | Sayur Nangka | 10000 |
+----+------------------+-------+
但那是静态的,如果数据在表中非常多怎么办? 如何获取第二个数据直到最后一个数据?
使用左连接获得所需结果的另一种方法
SELECT a.*
FROM tbl_makanan a
LEFT JOIN (
SELECT id
FROM tbl_makanan
ORDER BY id ASC
LIMIT 1
) b USING (id)
WHERE b.id IS NULL
演示
只需使用非常大的值"4"。 这将适用于大多数表:
SELECT *
FROM tbl_makanan
ORDER BY id ASC
LIMIT 1, 999999999;
你可以使用它(这是一个工作的小提琴(:
SELECT id, nama_makanan, harga FROM tbl_makanan WHERE id < (SELECT MAX(`id`) FROM tbl_makanan) ORDER BY id DESC LIMIT 1
希望这对你有用.. :)
SELECT *
FROM tbl_makanan
ORDER BY id ASC
OFFSET 1 ROWS