[SQL ] 如何取出最新幾筆資料 並且以 asc 排序
請問在不知道資料數共有幾筆的情況下,
如何取出最新的 n 筆資料,並且根據某欄位以 ASC 排序?
查了 select、asc / desc、order by `some_field`、limit、offset 等用法,
還是兜不出我想要的結果…
舉個實際的例子,請先用以下語法建立測試用 table:
CREATE TABLE IF NOT EXISTS `test` (
`index` int(4) NOT NULL,
`name` varchar(4) default NULL,
PRIMARY KEY (`index`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `test` (`index`, `name`) VALUES
(0, '小明'),
(1, '小美'),
(2, '小華'),
(3, '阿貓'),
(4, '阿狗');
如果以這樣的語法:SELECT * FROM `test` ORDER BY `index` DESC LIMIT 2
是可以取到最新的兩筆資料沒錯,可是順序錯了。
如果是這樣:SELECT * FROM `test` ORDER BY `index` ASC LIMIT 2
則會取得小明、小美兩筆資料…
我想問的是,如何取得阿貓和阿狗這兩筆,而且順序是阿貓、阿狗這樣的?
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.236.131
※ 編輯: chweng 來自: 59.127.236.131 (03/06 09:03)
推
03/06 12:19, , 1F
03/06 12:19, 1F
※ 編輯: chweng 來自: 59.127.236.131 (03/06 13:58)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):