【问题标题】:What query do I run to select the HIGHEST value for EACH group of values in an SQL table?我应该运行什么查询来为 SQL 表中的每组值选择最高值?
【发布时间】:2012-05-12 00:17:52
【问题描述】:

我有一张bids 的表格(例如 eBay 出价):

bid_id | bid_from_user | bid_for_auction | bid_price
1      | 150           | 1               | 20
2      | 453           | 1               | 30
3      | 42            | 1               | 50
4      | 12            | 2               | 12
5      | 60            | 2               | 20

我只需要选择每个bid_for_auction 一次当前最高的出价,所以我的结果应该是这样的:

bid_for_auction | bid_price
1               | 50
2               | 20

我该怎么做呢?

【问题讨论】:

    标签: php mysql sql


    【解决方案1】:

    使用GROUP BY

    SELECT bid_for_auction, MAX(bid_price) AS bid_price
    FROM bids GROUP BY bid_for_auction;
    

    【讨论】:

      【解决方案2】:
      SELECT bid_for_auction, MAX(bid_price)
      FROM bids
      GROUP BY bid_for_auction
      

      【讨论】:

      • 为什么在GROUP BY 中添加bid_price
      【解决方案3】:

      这应该可以解决问题:

      SELECT
       `bid_for_auction`,
       MAX(`bid_price`)
      FROM `bids`
      GROUP BY `bid_for_auction`
      

      【讨论】:

        【解决方案4】:

        SELECT bid_for_auction,MAX(bid_price) FROM bids GROUP BY bid_for_auction

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-08-28
          • 2015-12-23
          • 2022-01-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-06
          相关资源
          最近更新 更多