clickhouse case when
时间: 2023-10-15 20:03:40 浏览: 37
ClickHouse中的case when语句用于根据给定的条件进行条件判断和结果返回。通过case when可以在查询中根据不同的条件生成不同的值。例如,可以使用case when来创建新的字段、计算统计数量或者进行条件过滤等操作。
在ClickHouse中,case when语句的基本语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是满足对应条件时的结果。ELSE子句是可选的,用于指定当所有条件都不满足时的默认结果。
下面是一些使用case when语句的示例:
示例1:使用case when创建新的字段
```
SELECT column1, column2,
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result
END AS new_column
FROM table_name
```
示例2:使用case when进行条件过滤
```
SELECT column1, column2
FROM table_name
WHERE CASE WHEN condition THEN 1
ELSE 0
END = 1
```
示例3:使用case when计算统计数量
```
SELECT CASE WHEN condition1 THEN 'A'
WHEN condition2 THEN 'B'
ELSE 'C'
END AS 类型,
COUNT(*) AS 数量
FROM table_name
GROUP BY 类型
```