【问题标题】:Sort by rate from homes with multiple rates从具有多种费率的房屋中按费率排序
【发布时间】:2012-01-04 22:39:30
【问题描述】:

我正在开发一个度假租赁网站,每个房屋都有多种价格。所以我有一个表家和一个表率。当我使用这个 sql 获取时

SELECT * 
  FROM homes 
  INNER JOIN rates ON rates.home_id = homes.id 
  GROUP BY homes.id 
  ORDER BY rates.price ASC

结果不正确。我得到混合价格,从最低到最高。我认为问题在于每个家庭都有多重费率。那么如何找到最低费率并按其排序呢?

【问题讨论】:

  • ASC 从最小值到最大值。你到底想要什么?

标签: mysql sorting sql-order-by


【解决方案1】:
SELECT * FROM homes INNER JOIN rates ON rates.home_id = homes.id GROUP BY homes.id ORDER BY min(rates.price) ASC

【讨论】:

    【解决方案2】:
    SELECT homes.*,r.min_price FROM homes INNER JOIN
    (SELECT home_id,MIN(price) min_price FROM rates GROUP BY home_id) r
    ON r.home_id = homes.id
    ORDER BY r.min_price;
    

    【讨论】:

      猜你喜欢
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      • 2018-12-28
      • 1970-01-01
      相关资源
      最近更新 更多