SQL IF(xxx, 1, 0) 窗口函数
IF(xxx, 1, 0)
是SQL中的条件表达式函数,它的工作原理如下:
-
功能:如果条件
xxx
为真(TRUE),则返回1;如果条件xxx
为假(FALSE),则返回0 -
参数:
-
第一个参数(
xxx
):要评估的条件表达式 -
第二个参数(
1
):条件为真时返回的值 -
第三个参数(
0
):条件为假时返回的值
-
SELECT IF(age > 18, 1, 0) AS is_adult FROM users;
这个查询会返回一个名为is_adult
的列,当用户年龄大于18岁时值为1,否则为0。
实际用途
这种表达式常用于:
-
将布尔条件转换为数值标志(0/1)
-
在聚合函数中计算满足条件的记录数
-
创建二进制指示器列
例如统计成年人数量:
SELECT SUM(IF(age > 18, 1, 0)) AS adult_count FROM users;