gpt4 book ai didi

SQL:将总计数与条件计数相结合

转载 作者:行者123 更新时间:2023-12-02 07:17:25 25 4
gpt4 key购买 nike

我想返回一家酒店的房间总数,并提供该酒店超过 2 间卧室的房间总数。我的代码返回每家酒店的房间总数超过 2 间卧室,但它不返回酒店的房间总数。相反,它只返回拥有 2 个以上卧室的房间总数。

有没有一种简单的方法来修改我的代码来解决这个问题?

我有以下代码:

SELECT
hotel.hotel_id,
hotel.hotel_name,
COUNT(room.room_no) || ' total rooms ' || COUNT(room.room_no)
|| ' have more than 2 bedrooms ' AS ACCOMODATION_AVAILABLE
FROM
hotel
INNER JOIN
room
ON
hotel.hotel_id = room.hotel_id
WHERE
room_bedrooms > 2
GROUP BY
hotel.hotel_id, hotel.hotel_name;

最佳答案

使用条件聚合:

SELECT h.hotel_id, h.hotel_name,
COUNT(*) as total_roms,
SUM(CASE WHEN r.room_bedrooms > 2 THEN 1 ELSE 0 END) as num_3plus
FROM hotel h JOIN
room r
ON h.hotel_id = r.hotel_id
GROUP BY h.hotel_id, h.hotel_name;

我会让你构造字符串。这些信息在单独的列中似乎更有用。

注意表别名的使用。这使得查询更易于编写和阅读。

关于SQL:将总计数与条件计数相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58522614/

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