SELECT * FROM ( SELECT i.name AS item_name, h.profit, h.roi, h.speed, h.last_update, 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.speed DESC) as rank_speed FROM item_behaivor h JOIN item i ON h.item_id = i.id WHERE h.last_update >= DATE_SUB(CURDATE(), INTERVAL 90 DAY) ) as ranked_items WHERE rank_profit <= 10 OR rank_roi <= 10 OR rank_speed <= 10 ORDER BY rank_speed ASC LIMIT 10;