首页 > 解决方案 > SQL查询显示基于另一个表范围内的记录计数

问题描述

我有两张桌子RangeEmployee.

Range表由列组成

minimum_salary, maximum salary, program

(该薪水的可用计划,例如白金和白银等)。

Employee表有列

Emp_Id, Emp_Name, Salary

https://i.stack.imgur.com/RKaXP.png

在此处输入图像描述

我想编写一个 SQL 查询,以获取范围表中给定工资范围内的员工数量,请参阅表格和结果集的屏幕截图。

任何帮助表示赞赏。谢谢

标签: sqlsql-serverjoingroup-bycount

解决方案


请在Range该名称的表中添加一列Emp_ID。因为,它有助于加入两个表。我的意思是需要主键和外键。

询问:

select COUNT(e.empID), r.program
FROM rangeTable AS r
INNER JOIN empTable AS e ON e.salary BETWEEN r.min_salary AND r.max_salary
GROUP BY r.program

推荐阅读