2013-07-17 2 views
1

как выбрать все записи из специального заказа таблицы по убыванию?как выбрать все записи из специального заказа таблицы по desc?

pls see my table, эта таблица по умолчанию отображается по порядку по умолчанию, но теперь мне нужно получить массив, порядок которого соответствует порядку по умолчанию, как я могу это сделать?

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

вы не нашли ничего о 'ПОРЯДКА BY'? –

+0

упорядочить может только сортировка по символу –

+1

Что определяет ваш заказ - другими словами, почему тогда откровенный kelvin тогда darcy, а затем jimmy? Это не алфавит? – 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;' copy paste this statement, и вы должны быть хорошими. – hd1

Смежные вопросы