oracle 如何按为查询创建的列对数据进行分组

4nkexdtk  于 2022-11-28  发布在  Oracle
关注(0)|答案(1)|浏览(116)

如何按“工作经验”对数据进行分组

SELECT 
    CONCAT(CONCAT(FIRST_NAME, ' '), LAST_NAME) AS "Name and Ln",
    MONTHS_BETWEEN(SYSDATE, hire_date) / 12 AS "work experience"
FROM 
    HR.EMPLOYEES 
WHERE
    MONTHS_BETWEEN(SYSDATE, hire_date) >= 15 * 12

如何按我创建的列"工作经验“对查询进行分组?我需要编写group by“work experience”或其他

dgenwo3n

dgenwo3n1#

此处不需要Group By子句。
正如问题中提到的要求,您可以使用'distinct',如下所示:

SELECT distinct(round(MONTHS_BETWEEN(SYSDATE, hire_date) / 12,0)) AS work_experience,          
CONCAT(CONCAT(FIRST_NAME, ' '), LAST_NAME) AS Name_and_Ln            
FROM HR.EMPLOYEES 
WHERE MONTHS_BETWEEN(SYSDATE, hire_date) >= 15 * 12
order by work_experience desc;

如果以上代码不能解决您的问题,请更新所需的输出。

相关问题