美文网首页MySQL数据分析
mysql--CASE WHEN 统计多个字段

mysql--CASE WHEN 统计多个字段

作者: 默直 | 来源:发表于2019-07-10 12:43 被阅读6次

    mysql--CASE WHEN 统计多个字段


    本文介绍case when

    case 包含两种表达格式:

    第一种:简单case函数

    CASE input_expression(值)

    WHEN when_expression(比较值) THEN result_expression(结果)

    [ ...n ]

    ELSE else_result_expression(结果)

    END


    参数:

    input_expression是使用简单 CASE 格式时所计算的表达式,是任何有效的SQL表达式。

    when when_expression使用简单 CASE 格式时 input_expression 所比较的简单表达式。when_expression 是任意有效的SQL表达式。input_expression 和每个 when_expression 的数据类型必须相同,或者是隐性转换。

    [ ...n ]占位符可以使用多个 when when_expression then result_expression 子句或 WHEN boolean_expression THEN result_expression 子句

    then result_expression当 input_expression = when_expression 取值为 true,或者 boolean_expression 取值为 true 时返回的表达式。

    result expression 是任意有效的sql表达式。

    esle else_result_expression

    当比较运算取值不为 TRUE 时返回的表达式。如果省略此参数并且比较运算取值不为 TRUE,CASE 将返回 NULL 值。else_result_expression 是任意有效的sql表达式。Else_result_expression 和所有 result_expression 的数据类型必须相同,或者必须是隐性转换。

    举例说明:

    SELECT *, CASE a.Score WHEN 80 THEN '000' ELSE NULL END  ct FROM studentScores_Test a

    case 值 when 比较值 then 结果

    第二种:case搜索函数

    case

        when Boolean_expression(条件)  then result_expression(结果)

            [ ...n ]

            esle else_result_expression(结果)

        end


    参数介绍:

    WHEN Boolean_expression 使用 CASE 搜索格式时所计算的布尔表达式。

    Boolean_expression 是任意有效的布尔表达式。结果类型从 result_expressions 和可选 else_result_expression 的类型集合中返回最高的优先规则类型。有关更多信息,请参见数据类型的优先顺序。

    CASE 搜索函数:返回结果值介绍:

    按指定顺序为每个 WHEN 子句的 Boolean_expression 求值。返回第一个取值为 TRUE 的 Boolean_expression 的 result_expression。

    如果没有取值为 TRUE 的 Boolean_expression,则当指定 ELSE 子句时 SQL Server 将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。

    举例说明:

    SELECT *, CASE WHEN a.Score>=80 THEN '000' ELSE NULL END ct FROM studentScores_Test a

    case when 条件 then 结果

    case when 具体用法就说到这里,谢谢各位。

    相关文章

      网友评论

        本文标题:mysql--CASE WHEN 统计多个字段

        本文链接:https://www.haomeiwen.com/subject/edfqkctx.html