Небольшая настройка заставит его выполнить сортировку, за которой вы работаете.

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

Итак, приведена таблица, подобная следующей:

CUS_ID  | PRODUCT | AMOUNT
12      | A       |  2.50
12      | B       |  5.80
24      | A       |  10.00
24      | B       |  30.00

Я бы получил следующий результат:

CUS_ID  | Product | AMOUNT
24      | A       |  10.00
24      | B       |  30.00
24      | Total   |  30.00
12      | A       |  2.50
12      | B       |  5.00
12      | Total   |  7.50

Пока что я могу прийти со следующим запросом:

  SELECT cus_id, product, amount FROM Sales
UNION ALL
  (SELECT cus_id, 'ZZZZ' AS product, SUM(amount) FROM Sales GROUP BY cus_id)
ORDER BY cus_id, product

Тем не менее, запрос использует «ZZZZ» вместо «Всего» (что может быть исправлено путем поиска и замены впоследствии), но он не сортируется по порядку количества.

РЕДАКТИРОВАТЬПожалуйста, не стесняйтесь публиковать ответы, не относящиеся к сортировке. Некоторые из ответов были на самом деле довольно полезны для меня.

Ответы на вопрос(0)

Ваш ответ на вопрос