Как составить запрос? - MySQL (220444)

Узнай цену своей работы

Формулировка задачи:

Например, есть таблица income, со столбцами id, user, amount. Нужно выбрать оттуда 1 пользователя, у которого бы SUM столбцов amount была больше, чем у остальных.

Решение задачи: «Как составить запрос?»

textual
Листинг программы
SELECT MAX(s), USER FROM (SELECT USER, SUM(amount) AS s FROM usr GROUP BY USER ORDER BY s DESC) AS d

Объяснение кода листинга программы

Ваш запрос SQL выглядит следующим образом:

  1. SELECT MAX(s), USER FROM (SELECT USER, SUM(amount) AS s FROM usr GROUP BY USER ORDER BY s DESC) AS d Этот запрос выполняет следующие действия:
  2. Внутренний запрос SELECT USER, SUM(amount) AS s FROM usr GROUP BY USER ORDER BY s DESC суммирует все значения столбца amount для каждого пользователя и сортирует результаты в порядке убывания суммы. Этот запрос также создает псевдоним s для столбца с суммами.
  3. Внешний запрос SELECT MAX(s), USER FROM (SELECT USER, SUM(amount) AS s FROM usr GROUP BY USER ORDER BY s DESC) AS d выбирает максимальное значение столбца s и соответствующее ему имя пользователя из подзапроса. Обратите внимание, что в этом запросе используется псевдоним d для подзапроса. Это обычно делается для избегания путаницы с именами столбцов в подзапросе, особенно если подзапрос возвращает более одного столбца.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5