如何在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