Я пытаюсь написать запрос sql, который даст мне этот выход ниже. И вы можете увидеть таблицы, которые я добавил. Заранее спасибоcustomer-ordering table-sql
ответ
Обновленный ответ в соответствии с OP
Это даст вам только customer_id
с максимальным количеством заказов. Это битовый сложный запрос для формирования в MySQL из-за отсутствия аналитической функции. Но это должно работать нормально.
select t.* from
(select o.customer_id,
count(*) as no_of_orders
from orders o
group by o.customer_id) t
where
t.no_of_orders =
(
select max(no_of_orders) from
(select o.customer_id,
count(*) as no_of_orders
from orders o
group by o.customer_id
)t2
)
Смотрите демо здесь
http://sqlfiddle.com/#!9/18726a/12
Предыдущее Ответ:
Это будет работать. Left Join
убеждается дать подсчет 0
в случае, если клиент не имеет никаких order
select c.customer_id,count(o.order_id) as NO_OF_ORDERS
from customers c
left join orders o
on c.customer_id=o.customer_id
group by c.customer_id
Смотрите демо здесь
Utsav спасибо, но мне нужно найти количество заказов клиентов с максимальным количеством заказов. – Schecter
@Schecter - Проверьте обновленный ответ, и если он работает для вас, пожалуйста, примите ответ, нажав на символ 'check' слева от вопроса. – Utsav
Огромное спасибо Уцаву, сейчас он работает. У меня есть еще 3 запроса, которые я не мог написать. Можете ли вы также помочь мне в этом. – Schecter
Большинство диалекты SQL поддерживают функции стандартной нумерации строк ANSI , Вы можете использовать их для этой цели. Обратите внимание, что join
не является необходимым:
select customer_id, cnt
from (select o.customer_id, count(*) as cnt,
max(count(*)) over() as maxcnt
from orders o
group by o.customer_id
) o
where cnt = maxcnt;
- 1. Используя общий класс как тип списка Java
- 2. Increcket Checkbox number in ExecuteReader
- 3. Переменные в запросах в хранимых процедурах на SQL Server - как?
- 4. Как использовать сеанс PHP для просмотра таблиц базы данных MYsql?
- 5. sqlalchemy insert blob вызывает UnicodeDecodeError
- 6. Преобразование строки в int затем умножить другой int
- 7. Тип «...» не существует - ошибка JDBC
- 8. Показать даты не в базе данных, только в определенные дни недели
- 9. Добавить строку для итогов в конце каждой таблицы
- 10. Лучшее приближение для массовой вставки в базу данных Acces в C#
- 11. Включить текстовое поле при изменении SelectedIndex
Неплохая идея для скриншотов. –
Хорошая домашняя работа;) – dnoeth