Как объединить SUM и MAX ? - MySQL

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

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

Как объединить SUM и MAX ? Имеется такая задача: Определить заказчиков которые сделал заказы на наибольшую сумму по сути должно быть как то так max(sum(amt)), где amt цена заказа, но это не работает. да примера табличка: Заказчики: имя заказчика, уникальный номер и тд Заказы: цена, уникальный номер и тд Подскажите пожалуйста а то я не знаю как делать.

Решение задачи: «Как объединить SUM и MAX ?»

textual
Листинг программы
SELECT cel.clnt_clnt_id AS "Id Клиента",
       cel.QQ           AS "Месяц",
       val.QR           AS "Сумма"
  FROM ((SELECT q.clnt_clnt_id,
                trunc(q.pay_date, 'Month') AS QQ,
                SUM(q.amount_$) AS QW
           FROM payments q
          WHERE trunc(q.pay_date, 'Month') >=
                to_date('01.09.2015', 'dd.mm.yyyy')
          GROUP BY q.clnt_clnt_id, trunc(q.pay_date, 'Month')) cel JOIN
        (SELECT QQ, MAX(QW) AS QR
           FROM (SELECT trunc(q.pay_date, 'Month') AS QQ,
                        SUM(q.amount_$) AS QW
                   FROM payments q
                  WHERE trunc(q.pay_date, 'Month') >=
                        to_date('01.09.2015', 'dd.mm.yyyy')
                  GROUP BY q.clnt_clnt_id, trunc(q.pay_date, 'Month'))
          GROUP BY QQ) val ON cel.QW = val.QR)
 ORDER BY cel.QQ ASC;

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

  1. В этом коде используется SQL-запрос SELECT для выборки данных из нескольких таблиц.
  2. Код выбирает данные из таблицы payments и группирует их по clnt_clnt_id и месяцу платежа (QQ).
  3. Затем он суммирует все платежи за каждый месяц для каждого клиента (QW).
  4. Затем код выбирает максимальную сумму платежей для каждого месяца (QR) из этих данных.
  5. Результаты первого запроса (с суммой платежей) соединяются с результатами второго запроса (с максимальной суммой платежей) с помощью оператора JOIN.
  6. Результаты сортируются по месяцу платежа в возрастающем порядке (cel.QQ ASC).
  7. В итоге выводятся Id Клиента, месяц платежа и сумма платежей для каждого клиента.

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


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

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

10   голосов , оценка 3.9 из 5
Похожие ответы