我需要一些MySql查询的帮助。我现有的查询返回所有以100001作为query_id的行,按priceperadult ASC排序。
但是,我希望它只返回每家酒店的最优惠价格,所以需要添加到声明中,因此每家酒店只显示一个费率,最好的方法是什么?
SELECT * FROM `search_results` WHERE `query_id` = '100001' ORDER BY `priceperadult` ASC
示例数据
query_id,priceperadult,hotel_name
100001,100,Hotel 1
100001,200,Hotel 1
100001,100,Hotel 2
100001,200,Hotel 2
答案 0 :(得分:1)
听起来您正在使用min()
:
SELECT query_id, MIN(priceperadult), hotel_name
FROM search_results
WHERE query_id = '100001'
GROUP BY query_id, hotel_name