pgsql的case when
时间: 2023-10-08 11:09:19 浏览: 161
引用提供了一个关于使用CASE WHEN的例子。在PGSQL中,CASE WHEN语句用于根据条件判断给出不同的结果。在这个例子中,当name等于'张三'时,返回user表中id等于问号的name_id;当name等于'李四'时,返回user表中parent_id等于问号的name_id;否则返回NULL。
引用提供了一个高级用法的示例。在这个例子中,使用CASE WHEN统计分析返回结果。当risk_level为'较高'或'高'时,计数high加一;当risk_level不为空时,计数Num加一。
所以,对于pgsql的CASE WHEN语句,可以根据不同的条件给出不同的结果,并且可以用于统计分析。
相关问题
pgsql case when
在 PostgreSQL 中,CASE WHEN 是一种条件表达式,用于根据不同的条件返回不同的结果。它的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件为真时返回的结果。ELSE 子句是可选的,用于指定当所有条件都不满足时的默认返回结果。
CASE WHEN 可以嵌套使用,形成复杂的条件判断逻辑。例如:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN
CASE
WHEN sub_condition1 THEN sub_result1
WHEN sub_condition2 THEN sub_result2
...
ELSE sub_result
END
...
ELSE result
END
```
这样可以根据不同的条件组合返回不同的结果。
相关问题:
1. PostgreSQL 中的 CASE WHEN 语句的语法是什么?
2. CASE WHEN 可以嵌套使用吗?
3. CASE WHEN 的作用是什么?
pgsql case when用法
在PostgreSQL中,CASE WHEN是一个条件表达式,用于根据给定的条件返回不同的结果。它通常与聚合函数一起使用,比如COUNT、SUM、AVG等,来根据特定的判断执行计算。
基本语法如下:
```sql
SELECT column_name,
CASE
WHEN condition THEN expression_1
WHEN condition_2 THEN expression_2
[ ... ]
ELSE default_expression
END AS new_column_name
FROM table_name;
```
在这里,`condition`是你想要检查的逻辑,如果满足这个条件,那么就执行`expression_1`;如果不满足,再检查下一个`condition_2`,依此类推。如果所有的条件都不满足,则会执行`default_expression`。
例如,如果你有一个销售表,想按产品分类统计总销售额,并对每个类别设置默认值0,你可以这样做:
```sql
SELECT product_category,
SUM(CASE WHEN sale_status = 'completed' THEN sale_amount ELSE 0 END) AS total_sales
FROM sales
GROUP BY product_category;
```
在这个例子中,只有当`sale_status`为'completed'时,才计算`sale_amount`,否则将销售额设为0。
阅读全文