2013-07-17 31 views
1

如何通過desc從特殊表格順序中選擇所有記錄?如何通過desc從特殊表格順序中選擇所有記錄?

請看看我的表,這個表defaultly其默認順序顯示,但現在我需要得到陣列順序是DECS到默認順序,我該怎麼辦呢?

enter image description here

我想: enter image description here

SET FOREIGN_KEY_CHECKS=0; 

-- ---------------------------- 
-- Table structure for `s` 
-- ---------------------------- 
DROP TABLE IF EXISTS `s`; 
CREATE TABLE `s` (
    `name` varchar(255) NOT NULL default '', 
    `age` int(11) default NULL, 
    PRIMARY KEY (`name`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

-- ---------------------------- 
-- Records of s 
-- ---------------------------- 
INSERT INTO `s` VALUES ('jimmy', '31'); 
INSERT INTO `s` VALUES ('darcy', '25'); 
INSERT INTO `s` VALUES ('kelvin', '30'); 
INSERT INTO `s` VALUES ('frank', '28'); 
+0

你沒找到'ORDER BY'什麼? –

+0

ORDER BY只能排序字符 –

+1

什麼定義您的訂單 - 換句話說,爲什麼坦率然後開爾文則達西隨後吉米?這不是字母? – user2480596

回答

2
SELECT s.*, 
     @curRow := @curRow + 1 AS row_number 
FROM s 
JOIN (SELECT @curRow := 0) r order by row_number desc; 

fiddle

+0

非常感謝你,測試好 –

1

,如果你想保留行的原始序列,所以你可以反其道而行沒有字母或數字排序的其他列放自動增量列這將保證每一行的排序,你可以直接ORDER BY ASC|DESC

因爲...

在SQL世界中,順序不是一組數據的固有屬性。

https://dba.stackexchange.com/questions/6051/what-is-the-default-order-of-records-for-a-select-statement-in-mysql

https://dba.stackexchange.com/questions/5774/why-is-ssms-inserting-new-rows-at-the-top-of-a-table-not-the-bottom/5775#5775

+0

難以閱讀英文,我只想要任何sql來獲取rocords倒置。你可以寫下來嗎? –

+0

'select * from s order by desc;'複製粘貼這條語句,你應該很好。 – hd1