我有一张桌子,上面有一些可用客房的清单。
酒店ID 房间ID 库存日期 数量
600的2019年12月1日10
600的2019年12月12日10
600的2019年12月3日10
600的2019年12月12日10
600个月12个月2019年12月15日
600个月12个月2019年12月15日
600的2019年12月7日10
600 12 2019年12月18日20
600的12 2019年12月9日20
我需要以下结果集
酒店ID 房间ID 开始日期 结束日期 数量
600 12 2019 -01 2019-01-01 2019 2019-01-04 10 10
600 12 12 2019 2019-01-05 2019 2019-01-06 15 15
600 12 2019 -07 2019-01-07 -01 2019-01-07 10 10
600 12 2019 -01 2019-01-08 2019 2019-01-09 20 20
我不确定从哪里开始。请指导。谢谢。
答案 0 :(得分:0)
您可以在下面尝试-
select HotelID,RoomID,min(InventoryDate),max(InventoryDate),Qty
from tablename
group by HotelID,RoomID,Qty
答案 1 :(得分:0)
您可以使用聚合函数来实现此目的,在您的上下文中MIN()和MAX()将满足要求。
SELECT HotelID,RoomID,MIN(InventoryDate) as StartDate,MAX(InventoryDate) as EndDate,MAX(Qty)as Qty
FROM Tablename
GROUP BY HotelID,RoomID
答案 2 :(得分:0)
您可以使用以下查询获取所需的输出:
SELECT hotelid,
roomid,
Min(inventorydate) AS StartDate,
Max(inventorydate) AS EndDate,
qty
FROM inventory_table
GROUP BY hotelid,
roomid,
qty