MYSQL的流程控制語句

2021-08-02 04:37:43 字數 1462 閱讀 6186

一、準備資料

create

database iftest;

use iftest;

create

table test(

id int

primary

key auto_increment,

typeid int

notnull comment '產品型別:1-普通商品 2-禮品卡 3-非賣品',

productname varchar(50) not

null comment '產品名稱'

);insert

into test(typeid,productname) values(1,'可樂');

insert

into test(typeid,productname) values(1,'西瓜');

insert

into test(typeid,productname) values(1,'檸檬');

insert

into test(typeid,productname) values(2,'100元禮品卡');

insert

into test(typeid,productname) values(2,'200元禮品卡');

insert

into test(typeid,productname) values(3,'航空紀念品');

二、case when方案

select

case

when [條件1] then [執行1]

when [條件2] then [執行2]

else [條件3]

end

from tablename;

select

case

when typeid=1

then

'普通商品'

when typeid=2

then

'普通商品'

else

'非賣品'

endas typename,

count(1) as productnum

from test

group

by typeid;

三、if方案

select if(condition,trueresult,falseresult);

select

sum(if(typeid=1,1,0)) as

'普通商品',

sum(if(typeid=2,1,0)) as

'禮品卡',

sum(if(typeid=3,1,0)) as

'非賣品'

from test;

四、總計

if和case when方式,各有各的優勢,if可湊成橫向結構,case when可以湊成縱向的結構。

流程控制語句Mysql

流程控制語句 1.順序控制語句 begin.end.delimiter create function max1 i int,j int returns int begin return select from student where 學號 xh end delimiter 2.分支控制語句 i...

Python流程控制語句流程控制語句

流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...

Mysql之流程控制語句

這篇部落格主要是總結一下mysq中的流程控制語句的用法,主要是 case,if,ifnull,nullif 1.case case value when compare value then result when compare value then result else result end ...