SELECT * FROM ( SELECT c.name AS customer_name, i.name AS item_name, h.profit, h.roi, h.date, RANK() OVER (ORDER BY h.profit DESC) as rank_profit, RANK() OVER (ORDER BY h.roi DESC) as rank_roi, RANK() OVER (ORDER BY h.date DESC) as rank_rotation FROM item_customer_behaivor_history h JOIN customer c ON h.customer_id = c.id JOIN item i ON h.item_id = i.id ) as ranked_data WHERE rank_profit <= 10 OR rank_roi <= 10 OR rank_rotation <= 10 ORDER BY rank_profit ASC, rank_roi ASC LIMIT 10;