2015-10-14 206 views
0

我需要一些MySql Query的帮助。我现有的查询返回所有具有100001作为query_id的行,按priceperadult ASC排序。为MySQL查询添加附加条件

但是,我希望它只返回每家酒店的最优惠价格,因此需要添加到酒店中,因此每个酒店只显示一个价格,最佳方法是什么?

SELECT * FROM `search_results` WHERE `query_id` = '100001' ORDER BY `priceperadult` ASC 

示例数据

query_id,priceperadult,HOTEL_NAME

100001,100,酒店1

100001,200,酒店1

100001,100,酒店2

100001,200,酒店2

回答

1

听起来你正在寻找使用min()

SELECT query_id, MIN(priceperadult), hotel_name 
FROM search_results 
WHERE query_id = '100001' 
GROUP BY query_id, hotel_name 
+0

那对答案十分感谢。但是,我如何以ASC时尚的MIN(priceperadult)排序列表?即所有酒店的最低价格? –