请用一段mySQL查询出每个职业类型下用户年龄从高到低前5名的customer_id及该id对应的年龄、月收入我现在写的是一个职业类型下的:SELECT doccupation_v AS 职业类型 dcustomer_id dage AS 年龄 dmon_salary_v AS 月收入 FROM DATA$ d WHERE doccupation_v =Skilled agricult
你可以使用子查询来得到每个职业类型下用户年龄从高到低前5名的customer_id。以下是修改后的查询语句:
SELECT
d.occupation_v AS '职业类型',
d.customer_id,
d.age AS '年龄',
d.mon_salary_v AS '月收入'
FROM
DATA$ d
WHERE (SELECT COUNT(*) FROM DATA$ d2 WHERE d2.occupation_v = d.occupation_v AND d2.age >= d.age) <= 5
ORDER BY d.occupation_v, d.age DESC, d.customer_id
LIMIT 5;
这个查询会按照职业类型和年龄从高到低的顺序来筛选出前5名的customer_id,并且显示对应的年龄和月收入。
原文地址: https://www.cveoy.top/t/topic/iMRw 著作权归作者所有。请勿转载和采集!