博主原創,轉載請注明出處:
在mysql中if()函數的用法類似於java中的三目表達式,其用處也比較多,具體語法如下:
IF(expr1,expr2,expr3),如果expr1的值為true,則返回expr2的值,如果expr1的值為false,
則返回expr3的值。
其經常判斷查詢出來的值,示例;
mysql> select name,if(sex=0,'女','男') as sex from student; +-------+-----+ | name | sex | +-------+-----+ | name1 | 女 | | name2 | 女 | | name3 | 男 | | name4 | 女 | +-------+-----+ 4 rows in set (0.00 sec)
其也經常用到判斷的關聯條件中,其示例如下:
SELECT s.SCHOOL_CITY as schoolCity, s.SCHOOL_COUNTY as schoolCounty, count(DISTINCT `s`.`SCHOOL_ID`) as schoolNum, sum(m.duration) as sumDuration, sum(`m`.`VIEWERCOUNT`) as viewLiveSum, sum(m.replayViewerCount)as reViewSum, sum(m.praisecount) as sumpraise, sum(`m`.`VIEWERCOUNT`+m.replayViewerCount) as viewSum from ((tbl_hbb_mobile_live_statistics m join tbl_hbb_resource_visit_map v) join tbl_school_info s) where`m`.`RESOURCEID`= `v`.`RESOURCEID` and if((`v`.`rangeTYPE`= '2'),(`v`.`rangeID`= `s`.`SCHOOL_ID`),(`v`.`parentId`= `s`.`SCHOOL_ID`))