Sql 寻找最畅销的产品
我正试图得到玛格丽特·皮科克(Margaret Peackok)最畅销的产品,它带来了 11月份盈利最多的是w3schools.com上的数据库,以防你们想看到它的结构。这是我写的问题Sql 寻找最畅销的产品,sql,Sql,我正试图得到玛格丽特·皮科克(Margaret Peackok)最畅销的产品,它带来了 11月份盈利最多的是w3schools.com上的数据库,以防你们想看到它的结构。这是我写的问题 SELECT e.FirstName, e.LastName, p.ProductName, od.Quantity, p.Price, o.OrderDate FROM Employees e INNER JOIN Orders o ON e.EmployeeID = o.EmployeeID IN
SELECT e.FirstName, e.LastName, p.ProductName, od.Quantity, p.Price, o.OrderDate
FROM
Employees e
INNER JOIN Orders o ON e.EmployeeID = o.EmployeeID
INNER JOIN OrderDetails od ON o.OrderID = od.OrderID
INNER JOIN Products p ON od.ProductID = p.ProductID
WHERE
o.OrderDate BETWEEN '1996-11-01' AND '1996-11-30'
AND e.FirstName = 'Margaret'
AND e.LastName = 'Peacock'
GROUP BY
e.FirstName,
e.LastName,
p.ProductName,
od.Quantity,
p.Price,
o.OrderDate
ORDER BY p.Price DESC
结果如下:
FirstName LastName ProductName Quantity Price OrderDate
Margaret Peacock Côte de Blaye 10 263.5 1996-11-22
Margaret Peacock Thüringer Rostbratwurs 35 123.79 1996-11-22
Margaret Peacock Rössle Sauerkraut 30 45.6 1996-11-22
max函数通常是有效的,但是您需要一些了解成本的方法来获得实际利润
SELECT MAX(p.PRICE - p.[Cost Field])
FROM
Employees e
INNER JOIN Orders o ON e.EmployeeID = o.EmployeeID
INNER JOIN OrderDetails od ON o.OrderID = od.OrderID
INNER JOIN Products p ON od.ProductID = p.ProductID
WHERE
o.OrderDate BETWEEN '1996-11-01' AND '1996-11-30'
AND e.FirstName = 'Margaret'
AND e.LastName = 'Peacock'
GROUP BY
e.FirstName,
e.LastName,
p.ProductName,
od.Quantity,
p.Price,
o.OrderDate
ORDER BY p.Price DESC
你的问题是什么?你是说
数量
*价格
更大的产品吗?Cote de Blaye太贵了(除非你用的是旧法郎或比利时法郎)。答案取决于rdbms,你没有具体说明。谢谢伙计们,中微子这正是我想要的:)谢谢,抱歉伙计们,忘了提到我是一名DBA初学者,刚刚完成课程,最近获得了认证,所以我仍在尝试了解一些事情。