如何在SQL中同时计数和分组? (北风)
How to count and group by at the same time in SQL? (Northwind)
我正在学习 SQL 著名的 'Northwind' 数据库。
架构如下:https://miro.medium.com/max/4800/1*vluK_68f8_WnlL66qmRrXQ.png
我想return“联合包裹”公司至少运送过7个包裹的客户信息。所以我想数一数。
当我尝试这个时:
select c.CompanyName,
count(o.OrderID) as number_packages
from Customers as c
join Orders as o
on c.CustomerID = c.CustomerID
join Shippers as s
on o.ShipVia = s.ShipperID
where s.CompanyName like 'united package'
group by c.CompanyName;
它 return 给我一个 table,CompanyName 正确并且在 number_packages 中所有行 326...所以我猜这是 [=运输的所有包裹的数量 'United Package'.
如何计算正确?
您的第一个 join
条件不正确:
from Customers c join
Orders o
on c.CustomerID = c.CustomerID
--------^ should be o
我正在学习 SQL 著名的 'Northwind' 数据库。
架构如下:https://miro.medium.com/max/4800/1*vluK_68f8_WnlL66qmRrXQ.png
我想return“联合包裹”公司至少运送过7个包裹的客户信息。所以我想数一数。
当我尝试这个时:
select c.CompanyName,
count(o.OrderID) as number_packages
from Customers as c
join Orders as o
on c.CustomerID = c.CustomerID
join Shippers as s
on o.ShipVia = s.ShipperID
where s.CompanyName like 'united package'
group by c.CompanyName;
它 return 给我一个 table,CompanyName 正确并且在 number_packages 中所有行 326...所以我猜这是 [=运输的所有包裹的数量 'United Package'.
如何计算正确?
您的第一个 join
条件不正确:
from Customers c join
Orders o
on c.CustomerID = c.CustomerID
--------^ should be o