gpt4 book ai didi

mysql - 带连接的 Sql Min 查询条件

转载 作者:行者123 更新时间:2023-11-29 11:36:47 26 4
gpt4 key购买 nike

我有两张 table

abserve_hotels                  

hotel_id name trendy

1 A 1
2 B 1
3 C 0
4 D 0
4 E 0
6 G 0
7 F 0

abserve_hotel_rooms

room_id room_prize hotel_id

1 235 1
2 500 2
3 1000 1
4 2356 7
5 800 7

在这里,我使用以下查询

SELECT `h`.*,`ar`.* from `abserve_hotel_rooms` as `ar` JOIN `abserve_hotels` as `h` ON `ar`.`hotel_id` = `h`.`hotel_id` WHERE `h`.`trendy` =1 LIMIT 5

但是,当我使用此查询时,如果该酒店有两个房间,则会检索 hotel_id 两次。

即,

hotel_id    name    trendy      room_id    room_prize    

1 A 1 1 235
1 A 1 3 1000
2 B 1 2 500

但是,如果hotel_id有两个房间,我只需要最低的room_prize

例如,

hotel_id    name    trendy      room_id    room_prize    

1 A 1 1 235
2 B 1 2 500

像这样,有人帮助我..

最佳答案

使用 MINGROUP BY 即可。

SQLFiddle:

<强> http://sqlfiddle.com/#!9/46ff3/1

SELECT `h`.*,`ar`.room_id, MIN(`ar`.room_prize) as min_room_prize
from `abserve_hotel_rooms` as `ar` JOIN `abserve_hotels` as `h` ON `ar`.`hotel_id` = `h`.`hotel_id`
WHERE `h`.`trendy` =1
group by h.hotel_id
LIMIT 5

SQLFiddle 输出:

hotel_id    name    trendy  room_id min_room_prize
1 A 1 1 235
2 B 1 2 500

关于mysql - 带连接的 Sql Min 查询条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com