Выборка поля по максимальному показателю другого поля - MySQL

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

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

Здравствуйте. Подскажите, как можно сделать выборку, например, покупателя по максимальному критерию количества товаров, которые он купил? Но при этом нужно учитывать тот факт, что в таблице один пользователь находиться в нескольких записях(это видно на скриншоте). Т.е по короткому, нужно выбрать самого заядлого покупателя... И таким же макаром и самый покупаемый товар... А еще можно ли выбрать самый любимый товар покупателя?) было бы не плохо)
sold_id - номер покупки product_id_ref - это айди товара из другой таблицы products product_name - в принципе это есть в той же таблице products product_count - количество купленного товара product_sum - сумма этих товаров (конкретного, а не всех, что он купил, т.е купил столько то этого и столько то другого и все это каждый раз добавляет новую запись. buyer_name - имя покупателя shopping_time - время покупки в datatime

Решение задачи: «Выборка поля по максимальному показателю другого поля»

textual
Листинг программы
SELECT buyer_name, SUM(Product_count) AS NUMBER FROM tests2
GROUP BY buyer_name
ORDER BY NUMBER DESC
LIMIT 1

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

  1. buyer_name - название таблицы или базы данных, откуда производится выборка
  2. Product_count - название поля, по которому производится группировка данных
  3. SUM - функция агрегирования, используется для подсчета суммы значений поля Product_count
  4. NUMBER - псевдоним (alias) для поля, содержащего сумму значений поля Product_count
  5. tests2 - название таблицы, из которой производится выборка
  6. GROUP BY buyer_name - группировка данных по полю buyer_name
  7. ORDER BY NUMBER DESC - сортировка данных по полю NUMBER в порядке убывания
  8. LIMIT 1 - ограничение выборки одной строкой
  9. В результате выполнения запроса будет возвращено одно поле - buyer_name, содержащее имя покупателя с максимальным количеством продуктов

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


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

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

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