sql函数 case when
时间: 2023-08-25 18:10:35 浏览: 121
SQL函数 CASE WHEN 是一种条件表达式,用于在查询过程中根据条件执行不同的操作或返回不同的值。它的基本语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
```
其中,`condition1`, `condition2`, ..., `conditionN` 是待检查的条件,`result1`, `result2`, ..., `resultN` 是与条件匹配时返回的结果值,`result` 是当没有任何条件匹配时返回的默认值(可选)。
下面是一个示例,假设有一个名为 `users` 的表,其中包含 `name` 和 `age` 两列:
```sql
SELECT name,
CASE
WHEN age < 18 THEN 'Child'
WHEN age >= 18 AND age < 65 THEN 'Adult'
ELSE 'Senior'
END AS age_group
FROM users;
```
上述查询将根据用户的年龄将其分为三个年龄组:儿童、成年人和老年人,并在结果集中显示对应的 `age_group` 列。
请注意,CASE WHEN 还可以嵌套使用,并且可以与其他 SQL 函数和表达式结合使用,以实现更复杂的逻辑和计算。
相关问题
聚合函数 case when
聚合函数 case when 是 SQL 中常用的一种函数。它结合了两种功能:聚合函数和条件判断语句。
聚合函数是指对一组数据进行计算并返回一个单一值的操作。例如,SUM 函数计算指定列的总和,AVG 函数计算指定列的平均值等。
而条件判断语句则是根据一定的条件对数据进行筛选和分类。例如,CASE WHEN 语句根据特定的条件返回不同的值。
聚合函数 case when 就是将这两种功能结合起来,可以根据特定的条件对数据进行筛选,然后再进行聚合操作。例如,可以统计某一列中符合特定条件的数据的总和或平均值等。
聚合函数 case when 的语法如下:
SELECT SUM(CASE WHEN condition THEN value1 ELSE value2 END)
FROM table_name;
其中,condition 是要测试的条件,value1 和 value2 是根据条件 condition 返回的值。当条件 condition 成立时,返回 value1,否则返回 value2。
总之,聚合函数 case when 是 SQL 中非常常用的一种函数,可以根据特定条件对数据进行分组和统计,非常实用。
sql max case when
在 SQL 中使用 MAX 函数和 CASE WHEN 子句可以根据条件从多个值中选择最大值。以下是一个示例:
```sql
SELECT MAX(CASE WHEN condition THEN column_name ELSE NULL END)
FROM table_name;
```
在上面的示例中,你需要将 `condition` 替换为你要评估的条件,`column_name` 替换为你要选择最大值的列名,`table_name` 替换为你要查询的表名。
请注意,如果没有满足条件的行,MAX 函数将返回 NULL。
阅读全文