Таблица состоит из таких полей
customer, item, total
select web_deal.customer, (
SELECT group_concat(DISTINCT item)
) as gems, sum(web_deal.total) as spent_money
from web_deal
where web_deal.item in (
select item
from
(select web_deal.customer as customer,
web_deal.item
from web_deal
where customer IN (
select web_deal.customer from web_deal
group by web_deal.customer
order by count(web_deal.total) DESC
limit 5
)
group by web_deal.customer, web_deal.item
order by sum(web_deal.total) DESC)
group by item
having count(item) > 1
)
group by web_deal.customer
order by count(web_deal.total) DESC
limit 5
нужно выбрать 5 клиентов заказавших больше всего предметов, выводя предметы которые есть по крайней мере у 2 покупателей из топа 5.
Код прекрасно работает, но там есть 2 раза выбор топа 5 клиентов, как это можно исправить?