2015-01-22 3 views
0

Относится к моим previous question.Mysql Заказ по заказу

Я приложил M_id в своем заказе по предложению, чтобы сделать его уникальным заказом.

Я создал sqlfiddle: http://sqlfiddle.com/#!2/8f2340/3

Теперь я обращенную вопрос с DESC упорядоченности.

Ниже приведены ожидаемые результаты.

SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM` LIMIT 0,60 

SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` LIMIT 0,60 

SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` ASC LIMIT 0,60 

SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM` DESC LIMIT 0,60 

Ниже запроса не ожидается ожидаемого результата.

SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` DESC LIMIT 0,60 

Пожалуйста, помогите мне.

Спасибо.

+0

И каков ваш ожидаемый результат? –

+0

Заказ в порядке возрастания. –

+1

http://sqlfiddle.com/#!2/8f2340/22 –

ответ

1

Предположительно, вы хотите desc первого ключа в order by:

SELECT `M_ID`, `CON_FRST_NM` 
FROM `sample_table` 
ORDER BY `CON_FRST_NM` DESC, `M_ID` 
LIMIT 0, 60; 
1

Вы можете сортировать различные столбцы в diffrent направлениях. Для ПРИМЕР-

SELECT `M_ID`, `CON_FRST_NM` 
FROM `sample_table` 
ORDER BY `CON_FRST_NM` DESC, `M_ID` ASC 
LIMIT 0, 60; 

или

SELECT `M_ID`, `CON_FRST_NM` 
FROM `sample_table` 
ORDER BY `CON_FRST_NM` DESC, `M_ID` DESC 
LIMIT 0, 60; 

если вы не упоминаете направление, ASC по умолчанию. Так, в запросе, который

SELECT `M_ID`, `CON_FRST_NM` 
FROM `sample_table` 
ORDER BY `CON_FRST_NM`, `M_ID` DESC 
LIMIT 0, 60; 

Результаты будут отсортированы по первым CON_FRST_NM в порядке возрастания, а затем M_ID в порядке убывания.

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