gpt4 book ai didi

mysql - 两个如何根据其中一个中的最高值连接到表?

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

我有一个名为 Auction 的表,其中包含一个 auctionID。我有另一个名为 bid 的表,其中包含 auctionID(作为外键)和金额。

我想要做的是在一列中列出 auctionID,在另一列中列出最高出价的金额。

我尝试了不同的方式来进行内部连接以使其正确显示,但都失败了。请记住,就 MYSQL 而言,我完全是个新手,解决方案很可能是我应该返回并重新设计整个数据库。

最接近显示我想要的内容的是以下两种不同的方法。

第一个

SELECT auction.auctionID, bid.bid
from bid
INNER JOIN
auction on auction.auctionsID = bid.auctionsID;

第二个如下

SELECT auction.auctionsID, bid.bid 
from bid
INNER JOIN
auction on auction.auctionsID = bid.auctionsID
where bid.bid = (select max(bid.bid) from bid);

第一个显示所有已出价及其金额,但我只想要每个 auctionID 的最高出价。

第二个仅显示所有不同拍卖中的绝对最高出价以及特定拍卖的 auctionID

我的猜测是我需要某种嵌套的连接语句,但我真的无法理解它。

提前致谢!

编辑:多么棒的体验。作为一个长期用户,出于绝望,今天创建了一个帐户来问我的第一个问题。我从这个社区得到了很棒的帮助。

答案:

SELECT auctionid, MAX(bid) as maxbid FROM bid GROUP BY auctionid;

由 Caius Jard 和 Deependra Bhandari 提供

最佳答案

我认为您只需要一个GROUP BY 查询:

SELECT
a.auctionID, MAX(b.bid) AS max_bid
FROM auction a
INNER JOIN bid b
ON a.auctionsID = b.auctionsID
GROUP BY
a.auctionID;

这假设您要为每次拍卖找到最高出价。

关于mysql - 两个如何根据其中一个中的最高值连接到表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54040443/

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