ClickHouse 如何使用CASE WHEN函数
时间: 2024-04-24 19:23:32 浏览: 407
在 ClickHouse 中,你可以使用 `CASE WHEN` 函数来进行条件判断和分支选择。 `CASE WHEN` 函数可以根据条件的结果选择不同的值或执行不同的逻辑。
以下是一个示例,展示了如何使用 `CASE WHEN` 函数:
```sql
SELECT col1, col2,
CASE
WHEN col1 > 0 THEN 'Positive'
WHEN col1 < 0 THEN 'Negative'
ELSE 'Zero'
END AS col1_category
FROM table1
```
在这个查询中,我们选择了两个列 `col1` 和 `col2`。然后,我们使用 `CASE WHEN` 函数对 `col1` 进行条件判断。如果 `col1` 大于 0,则返回字符串 "Positive";如果 `col1` 小于 0,则返回字符串 "Negative";否则返回字符串 "Zero"。我们将结果命名为 `col1_category`。
在结果中,你将看到每行数据的 `col1_category` 列显示了根据条件判断得出的相应值。
除了简单的条件判断外,你还可以在 `CASE WHEN` 函数中嵌套其他函数、使用多个条件和分支。
希望这个示例能对你有所帮助!如果你还有其他问题,请随时提问。
相关问题
clickhouse 写 case when
clickhouse中的case when用法是一种条件语句,可以根据不同的条件执行不同的操作。它的语法如下:
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
其中,condition1、condition2等是条件表达式,result1、result2等是对应的结果。如果所有条件都不满足,则返回ELSE后面的结果N。
例如,我们可以使用case when语句来计算一个人的BMI指数:
SELECT name, weight, height,
CASE WHEN height > 0 AND weight > 0 THEN weight / (height * height)
ELSE NULL
END AS bmi
FROM person;
在上面的例子中,如果身高和体重都大于0,则计算BMI指数,否则返回NULL。
clickhouse case when
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 类型
```
阅读全文