簡體   English   中英

如何在 MYSQL 中使用 if 查詢創建 VIRTUAL 列

[英]how to create VIRTUAL column with an if Query in MYSQL

如何創建具有條件的虛擬 cloumn 我有一個包含列a b c的表

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"

你可以使用一個案例

 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  

算法

1 步- 首先創建一個表。

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

第 2步 - 如果 b < 16.5,則更新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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM