Можно ли упорядочить по двум полям в данной таблице, одно по возрастанию, а другое по убыванию одновременно?

0

Недавно я столкнулся с вопросом, который был задан в интервью, в котором говорится, что:

У вас есть база данных mysql со студентами. Напишите строку запроса, чтобы выбрать все элементы учеников таблицы и упорядочить по двум полям один по возрастанию, а другой - по убыванию.

Пусть есть таблица "студенты", например:

Изображение 174551

В этом примере, если мы заказываем по счету в порядке убывания, тогда невозможно одновременно закачивать roll_no в порядке возрастания.

С точки зрения вопроса, может ли быть написан какой-либо запрос для получения желаемого результата. Или вопрос двусмысленный или неправильный или мой подход к пониманию вопроса неверен?

  • 1
    Подсказка: ORDER BY col1 ASC, col2 DESC .
  • 0
    Почему бы тебе просто не попробовать и не узнать ????
Показать ещё 3 комментария
Теги:

2 ответа

0
Лучший ответ

В вашем заказе вы попросили систему заказать по первому столбцу сначала, чтобы он заказал, тогда вы попросили его заказать второй столбец, чтобы он

→ Он должен сохранить порядок первого столбца.

→ Заказать второй столбец

Таким образом, упорядочение внутри группы означает, что если

Table Test 
 A| B
 --------
  1  1
  1  3
  1  2
  2  2 
  2  4


Select * from test order by A desc, B asc 
Output 
Table Test 
 A| B
 --------
 2  2 
 2  4
 1  1
 1  2
 1  3

Так что в вашем случае, если вы первый заказ по счету desc, тогда он будет заказывать

  1. Во-первых, все учащиеся, согласно этим оценкам, спускаются

  2. И тогда, если у двух или более учеников будет одинаковый балл, скажем 60, тогда в пределах этой группы ученики будут заказываться в соответствии с номером рулона по возрастанию

Надеюсь, это очистит ваши сомнения.

0

Когда вы используете предложение order by, вы можете указать направление Asc или desc.

В вашем примере с вашими примерными данными нет точки заказа по результату, а затем roll_no, потому что в столбце счетчика нет дубликата.

Если в вашей реальной таблице есть оценка, которая появляется более одного раза, вы можете order by score desc, roll_no.
(asc - значение по умолчанию)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню