SELECT的一个小SQL查询问题

时间:2011-03-21 04:28:55

标签: mysql sql select

SQL查询仍然是我最薄弱的一点,所以在这里我还有另一个SQL问题。

想象一下,我有两张桌子:拍卖出价。表拍卖包含我的拍卖和表格出价包含每次拍卖的出价列表。

现在我选择这样的值:

   SELECT
   `auction_title`,
   `auction_seo_title`,
   `auction_description_1`,
   `auction_unixtime_expiration`,
   `auction_startPrice`,
   MAX(`bids`.`bid_price`) as `bid_price`
   FROM
   `auctions`
   LEFT JOIN `bids` ON `auctions`.`auction_id`=`bids`.`bid_belongs_to_auction`
   ORDER BY
   `auction_unixtime_expiration`
   ASC
   LIMIT 5

该查询有效,但它有一点吸引力:它只选择那些在出价表中具有至少一个对应值的拍卖。这意味着,如果我有一个尚未出价的新拍卖,则查询不会返回此拍卖,但我也想要它!

我相信对于至少具有高于平均SQL技能的人来说,这是一个非常简单的问题。我希望有人这样的人来了:)先谢谢你!

1 个答案:

答案 0 :(得分:1)

SELECT
   `auction_title`,
   `auction_seo_title`,
   `auction_description_1`,
   `auction_unixtime_expiration`,
   `auction_startPrice`,
   MAX(`bids`.`bid_price`) as `bid_price`
FROM
   `auctions`
LEFT JOIN `bids` ON `auctions`.`auction_id`=`bids`.`bid_belongs_to_auction`
GROUP BY `auction_id`
ORDER BY `auction_unixtime_expiration` ASC

试一试。假设有效,您可以将LIMIT添加到最后。