【问题标题】:how to create VIRTUAL column with an if Query in MYSQL如何在 MYSQL 中使用 if 查询创建 VIRTUAL 列
【发布时间】:2020-02-28 11:46:49
【问题描述】:

如何创建具有条件的虚拟 cloumn 我有一个列abc

c 应该是带条件的虚拟 =>

 1- if 'b' < 16.5 the value  should be "1"
 2- if 'b' BETWEEN 16.5 AND 18.5 the value should be "2"
 3- if 'b' = 25 the value should be "3"

【问题讨论】:

    标签: mysql if-statement conditional-statements virtual create-table


    【解决方案1】:

    你可以在

     select a, b, case when b <16.5 then 1 
                       when b between 16.5 and 18.5 then 2 
                       when b = 25 then 3  
                      end  c
      from my_table  
    

    你还应该用 else 管理其他情况

     select a, b, case when b <16.5 then 1 
                       when b between 16.5 and 18.5 then 2 
                       when b = 25 then 3  
                       else 0
                      end  c
      from my_table  
    

    【讨论】:

      【解决方案2】:

      算法

      步骤 1 - 首先创建一个表。

      CREATE TABLE table_name(
          a float,
          b float,
          c float
      );
      

      STEP 2 - 如果 b c 列中的值。

      UPDATE table_name SET c = 1 WHERE b < 16.5;
      

      第 3 步 - 如果 b 介于 16.5 和 18.5 之间,则更新 c 列中的值。

      UPDATE table_name SET c = 2 WHERE b >= 16.5 AND b <= 18.5;
      

      UPDATE table_name SET c = 2 WHERE b BETWEEN 16.5 AND 18.5;
      

      第 4 步 - 如果 b = 25,则更新 c 列中的值。

      UPDATE table_name SET c = 3 WHERE b = 25;
      

      【讨论】:

      猜你喜欢
      • 2012-10-12
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2013-06-29
      • 1970-01-01
      相关资源
      最近更新 更多