gpt4 book ai didi

mysql - SQL MIN 函数选择行

转载 作者:行者123 更新时间:2023-11-29 14:02:35 25 4
gpt4 key购买 nike

所以,我有一个表格,我希望显示最低价格的行...

sellers - saleid, productsid[fk for products table], cid[fk for customers table], quantity
price.

以下是一些记录:

sellers =1,2,2,200,5.00
sellers=2,3,4,100,1.00

我执行此查询:

select ProductID, Quantity, MIN(Price) FROM sellers

我得到这个输出

2,200,1.00

为什么它显示最低价格但第一条记录列?它应该显示,即相应的行...

3,4,1.00

知道这是为什么吗?

========编辑=======感谢大家的建议,它有效。我现在还有另一个小问题。我希望为每种产品选择最低价格。我可以使用查询来执行此操作吗?因此,如果这是新的卖家表:

sellers =1,2,2,200,5.00
sellers=2,3,4,100,1.00
seller=3,2,3,250,3.00

那么产品 2,3 的最低价格将为

sellers=2,3,4,100,1.00
seller=3,2,3,250,3.00

如何使用 min 函数执行类似的操作?我已经尝试过了

select c.Fname p.ProductName, s.ProductID, s.Quantity, s.Price 
FROM sellers s, products p, customer c
WHERE s.Price = (select MIN(Price) FROM sellers WHERE p.ID=s.ProductID AND c.ID=s.cid);

然而,这似乎并没有输出每个独特产品的最低价格。关于如何纠正这个问题有什么想法吗?

谢谢

最佳答案

如果没有GROUP BY,聚合函数MIN()将应用于所有行。为了将价格与整个表中的最小值进行比较,您需要一个子查询:

select ProductID, Quantity, Price 
FROM sellers
WHERE Price = (select MIN(Price) FROM sellers);

关于mysql - SQL MIN 函数选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14843918/

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