> 文章列表 > MySQL中使用IF子查询实现条件判断(where之后用if)

MySQL中使用IF子查询实现条件判断(where之后用if)

MySQL中使用IF子查询实现条件判断(where之后用if)

废话不多说,直接上代码

SELECTz.* 
FROM(SELECTt.* FROM(SELECTa.unit_id,a.total_score,a.score_level,a.optimize_total_score,a.optimize_score_level,a.create_time,b.score_revise_state FROMrisk_assess_record aLEFT JOIN risk_template b ON a.temp_id = b.id WHEREunit_id = '340100DW1600681791889342464' AND total_score IS NOT NULL ORDER BYcreate_time DESC LIMIT 2000 ) t GROUP BYt.unit_id ) z 
WHERE
IF( z.score_revise_state = 1, z.optimize_score_level = '3', z.score_level = '3' ) 
ORDER BYtotal_score DESC