【发布时间】:2014-10-08 09:52:28
【问题描述】:
我正在尝试获取每家酒店每天的最低价格,但我得到了多个结果。 我首先尝试使用 MIN() 函数获取最低数量,然后进行内部连接。 当我稍后尝试在子查询之外进行分组时,它只是按最低 id 分组。 SQL 本身:
SELECT mt.id, mt.amount, mt.fk_hotel, mt.start_date
FROM price mt
INNER JOIN
(
SELECT price.id, MIN(price.amount) minAmount
FROM price
WHERE 1=1 AND price.start_date >= '2014-10-08' AND price.start_date <= '2014-10-10' AND price.active = 1 AND price.max_people = 2
GROUP BY id
) t
ON mt.id = t.id AND mt.amount = t.minAmount
ORDER BY mt.fk_hotel, mt.amount;
结果如下所示: http://jsfiddle.net/63mg3b2j/
我想按开始日期和 fk_hotel 分组,以便按最低金额值分组,有人可以帮我吗?我说清楚了吗?
编辑:我还需要对应行的字段 fk_room,所以我可以内部加入
【问题讨论】:
-
如果您遇到 SQL 问题,那么 SQLFIDDLE 可能比 JSFIDDLE 更有用
标签: mysql