【发布时间】:2020-04-08 12:44:35
【问题描述】:
SQL 学习进展顺利。现在在需要帮助的地方进行练习。
我想获取订单数与纽约员工不同的员工的姓名。
表格:
ORDERS,其中包括EMPLOYEE_ID, CITY, ORDER_ID
EMPLOYEES,其中包括LAST_NAME, FIRST_NAME, EMPLOYEE_ID, CITY
我一直陷入这种情况:
SELECT ROW_NUMBER() OVER ( ORDER BY COUNT(T.ORDER_ID) DESC) ROW,
(H.LAST_NAME + ', ' + H.FIRST_NAME) 'Employee name',
COUNT(T.ORDER_ID) 'Sold orders', H.CITY 'City'
FROM ORDERS T JOIN EMPLOYEE H ON T.EMPLOYEE_ID = H.EMPLOYEE_ID
GROUP BY H.EMPLOYEE_ID, H.LAST_NAME, H.FIRST_NAME, H.CITY
这样我就可以获得员工已售出的订单。不幸的是,它没有显示有 0 个订单的员工。
如何显示订单数为 0 的员工?以及如何显示订单数量与一个城市的员工不同的员工?具有与纽约员工不同的订单计数的示例员工。
我希望你明白我的意思。问题复杂,语言障碍小。
示例数据:
First_name Last_name Sold_orders City
John Doe 2 New York
Jane Doe 5 Los Angeles
Peter Pan 5 Miami
我希望获得订单数量与迈阿密员工不同的员工。
First_name Last_name Sold_orders City
John Doe 2 New York
所以 Jane doe 和 Peter Pan 走了,因为他们的订单数量与迈阿密的员工数量相同(包括迈阿密本身)。
【问题讨论】:
-
1.编辑问题添加一些示例数据和所需的结果会有所帮助。 2. 标记您正在使用的 DBMS。
-
@Yougesh Sharma 感谢您的提示!我看不到我正在使用的 DBMS。这是学校版本,所有信息都隐藏了。我将做结果示例。
标签: sql join group-by count window-functions