我有一个表Employees
,其中的字段如下:
Employee_name,Employee_id,Employee_status,Employee_loc,last_update_time.
该表没有任何约束。 我已经尝试过以下查询。
select Employee_name, count(1)
from Employees
where Employee_status = 'ACTIVE'
Group by Employee_name,Employee_loc
having count(Employee_name) > 1
order by count(Employee_name) desc
在选择中,我也需要获取Employee_id
..任何人都可以帮助如何获取它吗?
最佳答案
您只需将 Employee_id
添加到查询中,也可以将其添加到 group by
子句中。 (假设每个员工姓名每个员工 ID 都是唯一的,将其添加到分组不会对查询结果产生任何影响)。
如果分组确实有所不同,则意味着员工姓名和位置的某些组合具有多个与其关联的 ID。因此,您的查询需要决定返回哪个 ID,可能需要使用聚合函数。
关于sql - 如何获取所有列,但必须在sql查询中仅按2列进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15784760/