根据 Northwind 数据库的销售额获取前 5 名供应商
Taking the top 5 suppliers based on sales from Northwind database
如何根据销售额获取前 5 名供应商?
我有以下数据库:
我尝试了多种解决方案,这是最接近的一个,但我知道这是错误的,因为一个供应商不止一次出现。
SELECT TOP 5
(od.UnitPrice * (1 - od.Discount) * od.Quantity) total_sales,
od.Quantity, od.UnitPrice, od.Discount, S.ContactName
FROM
[Order Details] od
INNER JOIN
Products p ON p.ProductID = od.ProductID
INNER JOIN
Suppliers s ON s.SupplierID = p.SupplierID
ORDER BY
total_sales DESC
销售额的总和由以下公式提供:
SUM(UnitPrice * (1 - Discount) * Quantity)
如有任何帮助,我们将不胜感激!
您需要按供应商分组
SELECT TOP (5)
s.CompanyName,
s.ContactName,
SUM(od.UnitPrice * (1 - od.Discount) * od.Quantity) total_sales,
FROM
Suppliers s
INNER JOIN
Products p ON s.SupplierID = p.SupplierID
INNER JOIN
[Order Details] od ON p.ProductID = od.ProductID
GROUP BY
s.SupplierID,
s.CompanyName,
s.ContactName
ORDER BY
total_sales DESC;
注意 Suppliers
的主键如何在分组中,即使它没有被选中。
如何根据销售额获取前 5 名供应商?
我有以下数据库:
我尝试了多种解决方案,这是最接近的一个,但我知道这是错误的,因为一个供应商不止一次出现。
SELECT TOP 5
(od.UnitPrice * (1 - od.Discount) * od.Quantity) total_sales,
od.Quantity, od.UnitPrice, od.Discount, S.ContactName
FROM
[Order Details] od
INNER JOIN
Products p ON p.ProductID = od.ProductID
INNER JOIN
Suppliers s ON s.SupplierID = p.SupplierID
ORDER BY
total_sales DESC
销售额的总和由以下公式提供:
SUM(UnitPrice * (1 - Discount) * Quantity)
如有任何帮助,我们将不胜感激!
您需要按供应商分组
SELECT TOP (5)
s.CompanyName,
s.ContactName,
SUM(od.UnitPrice * (1 - od.Discount) * od.Quantity) total_sales,
FROM
Suppliers s
INNER JOIN
Products p ON s.SupplierID = p.SupplierID
INNER JOIN
[Order Details] od ON p.ProductID = od.ProductID
GROUP BY
s.SupplierID,
s.CompanyName,
s.ContactName
ORDER BY
total_sales DESC;
注意 Suppliers
的主键如何在分组中,即使它没有被选中。