让此查询生效时遇到问题。除了计数列之外,我可以完全了解所有内容。我知道它很简单,但有一些东西,我只是没有到这里。请看下面的问题。
列出Employees表中的名字,中间名和姓氏,以及Orders表中的送货城市及其总数或计数。如果运输城市的数量大于或等于7,则仅显示运输城市。显示员工的第一个名称,后跟空格,后跟中间名称,后跟空格,后跟姓氏但不留下如果员工没有中间名,则为空格。按员工姓名订购结果集。查询应生成下面列出的结果集。
SELECT CONCAT(Employees.FirstName,' ',Employees.MiddleName, ' ', Employees.LastName) AS Name,
Orders.ShipCity
FROM Employees INNER JOIN
Orders ON Employees.EmployeeID = Orders.EmployeeID
谢谢!
答案 0 :(得分:1)
这样做: -
SELECT CONCAT(Employees.FirstName,' ',Employees.MiddleName, ' ', Employees.LastName) AS Name,
Orders.ShipCity,
COUNT(1) [Count]
FROM Employees INNER JOIN
Orders ON Employees.EmployeeID = Orders.EmployeeID
GROUP BY Employees.FirstName, Employees.MiddleName, Employees.LastName, Orders.ShipCity
答案 1 :(得分:0)
使用COUNT
作为分析函数:
SELECT
CONCAT(e.FirstName, ' ', e.MiddleName, ' ', e.LastName) AS Name,
o.ShipCity,
COUNT(*) OVER (PARTITION BY e.EmployeeID) [Count]
FROM Employees e
INNER JOIN Orders o
ON e.EmployeeID = o.EmployeeID;