gpt4 book ai didi

sql - Postgres 中的条件分支

转载 作者:行者123 更新时间:2023-11-29 12:54:33 24 4
gpt4 key购买 nike

我有一个表定义为

CREATE TABLE public.area
(
id INT,
type VARCHAR(45)
);

然后我执行了以下 SQL:

WITH type_area AS (
SELECT type
FROM area
WHERE area.id = 300
GROUP BY type
)

从 type_area 我有一组不同的类型。现在,如果该集合仅包含一种类型,我需要返回该类型,否则将返回“Multi_type”。

例如:type_area只有一行,值为'Meeting',返回'Meeting'。否则返回 'Multi_type' 作为查询结果。我试过了:

SELECT CASE WHEN count(type) > 1 THEN 'Multi_type'
ELSE type
END
FROM type_area

但我需要再次按类型分组,这会导致错误的结果。

最佳答案

一个简单的解决方案是在任何地方都使用聚合函数,比如

CASE WHEN count(type) > 1
THEN 'Multi_type'
ELSE max(type)
END

关于sql - Postgres 中的条件分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46546178/

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