#mysql #oracle
Вопрос:
User_ID Product_id Date Quantity U1 10 16-11-2021 2 U2 20 16-11-2021 1 U3 30 17-11-2021 4 U1 40 18-11-2021 2 U4 10 19-11-2021 1 U2 30 20-11-2021 10
Комментарии:
1. Пожалуйста, продемонстрируйте некоторые усилия, включив свой текущий запрос.
2. ГДЕ ГРУППИРОВАТЬ ПО ИМЕТЬ КОЛИЧЕСТВО
3. MySQL или Oracle? Это два совершенно разных продукта СУБД
Ответ №1:
В вашей таблице нет имени клиента, поэтому выполнить это требование невозможно.
Предполагая, что у вас есть customers
таблица со name
столбцом (о котором вы не упомянули), вам нужно:
JOIN
покупки иcustomers
таблицы вместе в отношении их первичного/внешнего ключа.GROUP BY
Date
столбец усечен до начала месяца и первичного ключа для клиента, поэтому у вас есть наборы группировок для каждого клиента на каждый месяц.- Отфильтруйте группы, чтобы найти только те группы
HAVING
aCOUNT
, число строк которых больше или равно 2. SELECT
клиентаname
(либо путем поиска с помощью функции агрегирования, напримерMAX
, внутри группы, либо путем добавленияname
столбца вGROUP BY
предложение).