这是在甲骨文。表EmployeeName:
EmployeeNameID|EmployeeID|FirstName|LastName
1|1|ABC|DEF
2|1|ABC|EFG
3|1|ABC|DEF
4|2|XYZ|PQR
5|2|DEF|RST
6|3|XYQ|BRQ
我想知道有多少员工记录有多个名字。结果应该是:第一列是EmployeeId,第二列是它们拥有的不同名称。对于第一个结果,ABC | DEF重复,所以我只想算一次。
1|2
2|2
3|1
我尝试分组但不确定如何使用不同的名称要求。
答案 0 :(得分:1)
试试这个:
SELECT EmployeeID, COUNT(DISTINCT CONCAT(FirstName,'-', LastName))
FROM EmployeeName
GROUP BY EmployeeID;
答案 1 :(得分:1)
我想你只想要count(distinct)
:
select employeeid, count(distinct firstname || ' ' || lastname)
from t
group by employeeid;