以最低价值(价格)分组挑选行

时间:2015-12-12 07:09:03

标签: mysql group-by min

enter image description here

我有所有的酒店和房间价格,在这些数据中,我需要在酒店数据中获取最低价格房间,下面是我的查询它没有选择最低价格示例hotelname3,room2,5。

SELECT *
FROM (hoteldata)
GROUP BY hotelname
ORDER BY price ASC

enter image description here

3 个答案:

答案 0 :(得分:0)

试试这个:

SELECT * FROM hoteldata where price = (SELECT min(price) FROM hoteldata)

答案 1 :(得分:0)

SELECT hd.*
FROM (
    SELECT hotelname , MIN(price) as minprice
    FROM hoteldata
    GROUP BY hotelname
) minprices
JOIN hoteldata hd 
    ON  hd.hotelname = minprices.hotelname
    AND hd.price = minprices.minprice

注意:如果一家酒店的两个房间价格最低,他们会同时监听。

对于性能,您应该在( hotelname 价格)上定义索引

http://sqlfiddle.com/#!9/10f00/1

答案 2 :(得分:-1)

SELECT *
FROM (hoteldata) order by price asc limit 1;

这将有助于从不同的酒店获得最低价格的房间。