当前位置: 首页 > 面试题库 >

将行与另一个表中的MAX行联接在一起?

齐航
2023-03-14
问题内容

如何将一个表中的一行连接到具有另一表上给定列的MAX值的行?

例如,我有一张auctions桌子和一张auction_bids桌子。我想以表中该拍卖的最高出价(即列bid_amountAND的最高值,其中auction_id=
x)加入拍卖auction_bids表。


问题答案:

这很烦人。您最好在每个获胜的Auction_bid中都带有一个“优胜者”标志。

SELECT * FROM auctions a
INNER JOIN 
(
    /* now get just the winning rows */
    SELECT * FROM auction_bids x
    INNER JOIN
    (
        /* how to tell the winners */
        SELECT auction_id, MAX(bid_amount) as winner
        FROM auction_bids
        GROUP BY auction_id
    ) y
    ON x.auction_id = y.auction_id
    AND x.bid_amount = y.winner
) b
ON a.auction_id = b.auction_id

请注意,竞标价为零的竞标价将根本不会列出,而有关联的竞标(会发生这种情况)将为每个并列竞标出现一次。



 类似资料:
  • 问题内容: 我有看起来像这样的数据: 流程将定期运行并为每个实体评分。该过程将生成数据并将其添加到得分表中,如下所示: 我希望能够为每个实体选择所有实体以及最新记录的分数,从而得到如下所示的一些数据: 我可以使用以下查询获取单个实体的数据: 但是我不知道如何为所有实体选择相同的内容。也许它正盯着我看? 非常感谢您抽出宝贵的时间。 感谢您的好评。我将花几天时间查看首选解决方案是否冒泡,然后选择答案。

  • 问题内容: 我有下表: 我希望结果是这样的: 其中结果仅显示每个“名称”的“记录”的最小值,并按所选日期进行过滤。我正在使用SQL。 问题答案: 使用: 或者 要过滤查询,请添加子句,例如:

  • 问题内容: 我有两个具有相同结构的表。我需要从一个表中选择数据,然后将它们存储到另一个表中。 我怎样才能做到这一点? 问题答案: 因为它们是相同的结构,所以您可以做

  • 问题内容: 我有以下问题。我想加入两个表。 第一个表具有如下条目: 第二个表是这样构建的: 我的结果应显示以下内容 我只是不知道如何解决这个问题。 仅使用sql selects可能需要此功能吗? 亲切的问候 问题答案: 并不是那么困难,但是-就像你被告知的那样,你宁愿不要那样做。

  • 我是新手。我有以下两张桌子。一张专辑: 另一个是歌曲: 所以所有这些歌曲都属于“自由”专辑。在api调用中,我使用dapper显示所有相册,这很好。 结果如下: 但是我想加入这张专辑的相关歌曲。我试过以下方法,但不起作用,你知道为什么吗? 它只是说:附近的语法不正确。

  • 问题内容: 我需要比较两个缓冲图像,看它们是否完全相同。只是说那等于是行不通的。我目前的方法是 但这并不能真正起作用。还有什么其他更可靠的方法? 问题答案: 显而易见的解决方案是逐像素比较它们是否相同。