琶洲展馆设计评价:sql查询语句问题

来源:百度文库 编辑:高校问答 时间:2024/05/04 12:56:14
adoquery1.SQL.Add('SELECT bh , zxyxm , COUNT(*) ,COUNT(CASE WHEN thsc!=0 THEN thsc END) ,COUNT(CASE WHEN T2= '1、成功' THEN T2 END) ,COUNT(CASE WHEN T2= '2、不成功' THEN T2 END) ,(cast(cast(COUNT(CASE WHEN T2 = '1、成功' THEN t2 END) AS float) / (COUNT(*)) AS decimal(10, 2)) AS varchar) ,cast(COUNT(CASE WHEN thsc != 0 THEN thsc END) AS float) / COUNT(*) ,SUM(thsc) , SUM(thsc)/COUNT(CASE WHEN thsc != 0 THEN thsc END) FROM XM20050903_U_THXXJL group BY bh, zxyxm ORDER BY bh');
请问COUNT(CASE WHEN thsc!=0 THEN thsc END) 这个怎么解释,cast这是个什么函数,它又是什么函数呢?

CASE是选择语句,当thsc不等于0时,返回thsc
Cast是转换函数cast(字段或表达式 as 类型)

select *
case *
case *