sql - SQL中如何同时计数和分组?(北风)
问题描述
我正在著名的“Northwind”数据库上学习 SQL。
所以这里是架构:https ://miro.medium.com/max/4800/1*vluK_68f8_WnlL66qmRrXQ.png
我想返回有关公司“联合包裹”已为其运送至少 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;
它返回给我一个 CompanyName 正确的表,并且在所有行 326 中的 number_packages 中......所以我猜它是“United Package”运输的所有包裹的数量。
如何使其计算正确?
解决方案
您的第一个join
条件不正确:
from Customers c join
Orders o
on c.CustomerID = c.CustomerID
--------^ should be o
推荐阅读
- sql - BigQuery 和 Google Analytics SQL 查询 - 扩展问题
- faunadb - Faunadb 在分页错误上给出错误,例如“Ref or set expected, string provided”
- indicator - iCustom 函数问题 MQL5 不返回值
- reactjs - 为什么我的 github 钩子测试返回 422 Unprocessable Entity?
- javascript - 如何获得 JavaScript 阶乘程序的循环来显示使用的工作?
- python-3.x - 如何使用 PyMongo 检索感知时区日期时间对象
- c++ - 在 C++ VSCode 中的不同行上格式化 If-else
- javascript - 不带引号或“$”的 Angular 表达式/XSS-Payload
- html - 如何在下拉菜单的选项标签内使用 django url?
- centos - 在使用 CentOS、Plesk、php-fpm 的服务器上为 SQL Anywhere 安装 php 扩展