
求解:
两个表关联查询,查找表2中类型1数量分组降序排列后,前n项求和小于表1总数的记录。谢谢~
SELECT SUM(`类型1数`) AS `总数`, `类型`
FROM `表2`
GROUP BY `类型`
HAVING SUM(`类型1数`) IN (
SELECT `类型1数` FROM (
SELECT `类型1数`, ROW_NUMBER() OVER (ORDER BY `类型1数` DESC) AS `rank`
FROM `表2`
) AS `t`
WHERE `rank` <= n
)
AND SUM(`类型1数`) < (SELECT `总数` FROM `表1` WHERE `类型` = '某种类型')