我非常擅长在SQL中使用pivot,并希望尝试透视它。 任何帮助,将不胜感激。 (罗斯文数据库)
我正在尝试将姓氏转移到TotalOrders之上。 姓氏在column1中,总订单在column2中
lastname TotalOrders
---------------------
Buchanan 42
Callahan 104
Davolio 123
Dodsworth 43
Fuller 96
King 72
Leverling 127
Peacock 156
Suyama 67
/ *尝试做:* /
[lastname] [Buchanan] [Callahan]...
TotalOrders 42 104 ...
/ 这是我到目前为止所拥有的。 / [代码]
SELECT lastname, COUNT(*) TotalOrders
FROM employees join orders
ON employees.employeeid = orders.employeeid
GROUP BY lastname
PIVOT
(
COUNT(TotalOrders)
FOR lastname IN ([Buchanan], [Callahan], [Davolio], [Dodsworth]
,[Fuller], [King], [Leverling], [Peacock], [Suyama])
) AS P;
[/代码]
答案 0 :(得分:0)
你很亲密。将连接查询放在子查询中,并在数据透视中使用MAX(或MIN)。
select *
from (
SELECT lastname, COUNT(*) TotalOrders
FROM employees join orders
ON employees.employeeid = orders.employeeid
GROUP BY lastname
) t
PIVOT
(
MAX(TotalOrders)
FOR lastname IN ([Buchanan], [Callahan], [Davolio], [Dodsworth]
,[Fuller], [King], [Leverling], [Peacock], [Suyama])
) AS P;