SQL查询,可以在一个查询中执行吗?

LB.*_*LB. 0 sql stored-procedures

我需要编写一个执行以下操作的查询:

我有两张桌子:

 SalaryRanges: id, beginRange, endRange
 UserInfo: id, salary,...
Run Code Online (Sandbox Code Playgroud)

我想要一个执行以下操作的查询:

给我一份SalaryRanges的ID列表,其中每个薪资范围满足特定范围的人数超过5人.

所以类似于:

SalaryRange ids:1,4,5,7有5个人符合各自的薪资范围.

这可以在一个查询中执行吗?或者您是否需要将查询分解为不同的调用?

Ada*_*dam 5

这只是我的头脑,但我认为它会起作用

SELECT  sr.id
FROM    SalaryRanges AS sr
INNER JOIN  UserInfo AS ui ON ui.Salary >= sr.beginRange AND ui.Salary <= sr.endRange
GROUP BY    sr.id
HAVING count(ui.id) > 5
Run Code Online (Sandbox Code Playgroud)

确定根据评论使用BETWEEN的更新版本

SELECT  sr.id
FROM    SalaryRanges AS sr
INNER JOIN  UserInfo AS ui ON ui.Salary BETWEEN sr.beginRange AND sr.endRange
GROUP BY sr.id
HAVING count(ui.id) > 5
Run Code Online (Sandbox Code Playgroud)

两者都应该工作