我有一个SQL查询,它当前显示表HOTEL中预订了$260到$350之间的酒店的所有人。我正在使用ORACLE
SELECT guest.guest_name "GUEST NAME",
Count(guest.guest_no),
guest.guest_no "GUEST NUMBER",
room.r_price "ROOM PRICE"
FROM room,
guest,
booking
WHERE r_price >= 260
AND r_price <= 350
AND guest.guest_no = booking.guest_no
GROUP BY guest.guest_no,
guest.guest_name,
room.room_price
ORDER BY guest.guest_name; 我想我可以只按GUEST.GUEST_NAME分组(所以它将所有的计数放在一个名字下,而不是两个客人的名字)。
编辑:查询的当前结果如下所示:
GUEST NAME COUNT GUEST_NO R_PRICE
Jenny Freeman 2 G003 260
Jenny Freeman 2 G003 295
Jenny Freeman 2 G003 310
Martin Ferguson 3 G006 260
Martin Ferguson 3 G006 295
Martin Ferguson 3 G006 310
Paul Happy 3 G002 260
Paul Happy 3 G002 295
Paul Happy 3 G002 310
Steve Kirkwood 3 G005 260
Steve Kirkwood 3 G005 295
Steve Kirkwood 3 G005 310
Tina Duncan 2 G001 260
Tina Duncan 2 G001 295
Tina Duncan 2 G001 310
Vanessa Horton 1 G007 260
Vanessa Horton 1 G007 295
Vanessa Horton 1 G007 310但我希望是这样的:
GUEST NAME COUNT GUEST_NO R_PRICE
Jenny Freeman 6 G003 260
Martin Ferguson 9 G006 310
Paul Happy 9 G002 310
Steve Kirkwood 9 G005 260
Tina Duncan 6 G001 310
Vanessa Horton 3 G007 260发布于 2012-10-17 20:29:50
嗯,我想你只需要在group by语句中进行更改,rest对我来说是可以的。只是不要在Group By声明中包含房间价格,我认为如果我没有回答您的问题,这会给您带来问题……
GROUP BY GUEST.GUEST_NO,
GUEST.GUEST_NAME和
MAX(R_PRICE) https://stackoverflow.com/questions/12933160
复制相似问题