SELECT user_id seller_id,
(case
when count(1)=1 then 'no'
when MAX(IF(rk=2 and favorite_brand=item_brand,1,0))=1 then 'yes'
else 'no' end) 2nd_item_fav_brand
from (
SELECT *, RANK() over (PARTITION BY user_id ORDER BY order_date) rk
FROM Users u
LEFT JOIN Orders o on u.user_id=o.seller_id
LEFT JOIN Items USING(item_id)) t
GROUP BY user_id;
select
u.user_id seller_id,
if(count(o.item_2nd)=0,'no','yes') 2nd_item_fav_brand
from Users u left join
Items i on u.favorite_brand = i.item_brand left join
(select o1.seller_id,
o1.item_id item_2nd
from Orders o1
where 1 = (select count(distinct o2.order_id)
from Orders o2
where o1.order_date > o2.order_date
and o1.seller_id = o2.seller_id)) o
on u.user_id = o.seller_id and o.item_2nd = i.item_id
group by u.user_id