gpt4 book ai didi

MySQL 从表中获取前 3 位供应商

转载 作者:行者123 更新时间:2023-11-29 07:52:03 25 4
gpt4 key购买 nike

大家好,我有一个问题需要一些支持。

我正在尝试通过表中的单个查询获取排名前 3 的供应商。

这是最初的问题:收入排名前三位的供应商是谁,他们位于哪里?

这是在线表和创建新表时必须运行的查询。

http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

CREATE TABLE ByCustomerOrders AS   
SELECT
o.OrderID
, p.ProductName
, p.ProductID
, Price
, Quantity
, Price * Quantity AS subtotal
, c.CustomerID
, s.SupplierID
FROM OrderDetails AS od
LEFT JOIN Orders AS o ON od.OrderID = o.OrderID
LEFT JOIN Products AS p ON p.ProductID = od.ProductID
LEFT JOIN Customers AS c on c.CustomerID = o.CustomerID
LEFT JOIN Suppliers AS s ON s.SupplierID = p.SupplierID;

由此,它创建了一个新表,我只需要列出前 3 个供应商,几乎是显示最多的供应商 ID 行值。

一些帮助将不胜感激。

最佳答案

如果您想按收入获取前 3 位供应商(收入是所有小计的总和),这应该可行:

SELECT s.*, SUM(co.subtotal) as revenue
FROM ByCustomerOrders co
INNER JOIN Suppliers s ON co.SupplierID = s.SupplierID
GROUP BY co.SupplierID
ORDER BY revenue DESC
LIMIT 3;

PS:对于代表金钱的列,您应该考虑使用 decimal (而不是 floatdouble),否则您将获得精度错误,你的数字不会相加。

关于MySQL 从表中获取前 3 位供应商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com