我在显示员工编号、名字、姓氏和每个员工的订单数量的查询时遇到问题。确保订单数列名称应为“OrderCount”。按 OrderCount 然后按员工 ID 订购。允许为空。
employee_data 包含列:Emp_ID
、F_Name
、L_Name
order_data 包含列: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() 和 Left Join 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27983898/