mysql - COUNT() 和 Left Join 不起作用

标签 mysql sql select group-by left-join

我在显示员工编号、名字、姓氏和每个员工的订单数量的查询时遇到问题。确保订单数列名称应为“OrderCount”。按 OrderCount 然后按员工 ID 订购。允许为空。

employee_data 包含列:Emp_IDF_NameL_Name

order_data 包含列:O_IDEmp_IDOrderNumber

这是我的查询:

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

这些是我的表格:

员工数据 enter image description here

订单数据

enter image description here

输出应该是:

enter image description here

但它给了我这个错误的输入。

enter image description here

最佳答案

试试这个:

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/

相关文章:

mysql - 如何检查表中单行SQL中的任何值是否为Null

mysql - 什么是 BENCHMARK(count, expr)?

sql - Oracle SQL 查询在 12C 中工作但在 11g 中无效

c - 选择无限期地等待

mysql - 如何使用 ip-tables 将 2 个 ip 地址列入白名单并阻止其他所有内容?

javascript - 从 2 个不同的属性获取 MySql 表中的项目

php - 无法在 PHP 中注销

sql - '没有可用的数据库 channel '

C# - LINQ Select() 调用函数两次

Oracle查询得到ORA-00907 : missing right parenthesis