sql查询按语句分组建议
我正在学习数据库查询,希望从Oracle数据库中的HR模式中找到以下SQL查询 查找每个薪资组中的员工数。工资组如下所示sql查询按语句分组建议,sql,database,Sql,Database,我正在学习数据库查询,希望从Oracle数据库中的HR模式中找到以下SQL查询 查找每个薪资组中的员工数。工资组如下所示 第一组:0k到我首先使用一个公共表表达式(CTE)来计算不同的组,使用case语句 WITH CTE AS ( SELECT Emp_ID, case when salary >= 0 salary < 5000 then "<5K" when salary >= 5000 and salary <
第一组:0k到我首先使用一个公共表表达式(CTE)来计算不同的组,使用case语句
WITH CTE AS (
SELECT Emp_ID,
case when salary >= 0 salary < 5000 then "<5K"
when salary >= 5000 and salary < 10000 then "<10k"
when salary >= 10000 and salary < 15000 then "<15k"
else "UDF" end as SalaryGroup
FROM Employees)
SELECT count(Emp_ID) as Cnt, SalaryGroup
FROM CTE
GROUP BY SalaryGroup;
使用CTE作为(
选择Emp_ID,
如果薪资>=0薪资<5000,则“请显示您的尝试(即使错误)、样本数据和预期结果。仅使用表和列名列表(甚至没有数据类型…)没有人能真正为您提供太多帮助。我要说的是,您的解决方案可能涉及一个创建分组的CASE
语句、COUNT()
和一个groupby
。
select trunc(salary/5000,00) e,
count(*)
from EMPLOYEES
group by trunc(SALARY/5000,0)
ORDER by e asc