case+when.+Pgsql
时间: 2024-02-02 20:03:55 浏览: 159
在Pgsql中,CASE WHEN语句用于进行条件判断和赋值。以下是一个示例代码:
```sql
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END AS new_column
FROM table_name;
```
在上述代码中,column1和column2是要选取的原始字段,condition1、condition2等是条件表达式,result1、result2等是对应条件满足时的赋值结果,new_column是赋值后的结果字段名,table_name是要查询的表名。
相关问题
pgsql case when
在pgsql中,"CASE WHEN"语句用于根据条件进行选择判断,并执行相应的操作。它的语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件为真时的结果。ELSE子句是可选的,用于指定当所有条件都不满足时的默认结果。
以下是一个pgsql中使用"CASE WHEN"语句的示例:
```sql
SELECT name,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 60 THEN '成年人'
ELSE '老年人'
END AS age_group
FROM users;
```
上述示例中,根据用户的年龄判断其所属的年龄段,并将结果作为新的列"age_group"返回。
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。
阅读全文