我在查询时遇到问题,该查询显示每个员工的员工编号、名字、姓氏和订单数量。请确保“订单数”列名称应为“OrderCount”。按OrderCount排序,然后按员工ID排序。允许为空。
包含列的员工数据:Emp_ID
,F_Name
,L_Name
包含列的订单数据:O_ID
,Emp_ID
,OrderNumber
我的问题是:
Select order_data.Emp_ID, F_Name, L_Name, COUNT(employee_data.Emp_ID) as OrderCount
FROM order_data
LEFT JOIN employee_data
ON employee_data.Emp_ID = order_data.Emp_ID
GROUP BY order_data.Emp_ID
ORDER BY OrderCount
这是我的桌子:
员工数据
订单数据
输出应该是:
但它给了我一个错误的输入。
最佳答案
试试这个:
SELECT od.Emp_ID, ed.F_Name, ed.L_Name, COUNT(DISTINCT od.O_ID) AS OrderCount
FROM order_data od
LEFT JOIN employee_data ed ON ed.Emp_ID = od.Emp_ID
GROUP BY od.Emp_ID
ORDER BY OrderCount
关于mysql - COUNT()和左联接不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27983898/