欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql的case when语法有关问题

更新时间: 2014-01-05 02:32:38 责任编辑: Author_N1

 

SQL的case when语法问题
在Access数据库中的一张表,有两个字段:CaseName 和result
result的值分为pass和failed, 现在要统计一下,某个casename一共出现了多少次,其中pass了多少,failed多少

我写的sql如下:
SELECT CaseName AS 用例名, COUNT(*) AS 总次数, SUM(CASE (verdict) when 'pass' THEN 1 ELSE 0 END) AS 通过, SUM(CASE(verdict) WHEN 'failed' THEN 1 ELSE 0 END) AS 未通过 from tb_case group by CaseName; 

但是每次运行的时候,都会提示, "when"处有语法错误miss operator.

--参考方法--
SELECT CaseName AS 用例名, COUNT(*) AS 总次数, SUM(CASE when verdict='pass' THEN 1 ELSE 0 END) AS 通过, SUM(CASE when verdict='failed' THEN 1 ELSE 0 END) AS 未通过 from tb_case group by CaseName;
--参考方法--
ACCESS中改成 IIF
SELECT CaseName AS 用例名, COUNT(*) AS 总次数, SUM(IIF (verdict) = 'pass' , 1 , 0 ) AS 通过, SUM(IIF(verdict) = 'failed' , 1 , 0 ) AS 未通过 from tb_case group by CaseName;
--参考方法--
示例:
(SUM(IIF(verdict= 'failed' , 1 , 0 ))*100.0/COUNT(*)) & '%'
--参考方法--
引用ps:Access是不是也不支持CAST; 例如:LTRIM(CAST(SUM(IIF((verdict) = 'failed' , 1 , 0 ))*100.0/COUNT(*)))
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:32:38
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11221/
本文WWW.DOC100.NET DOC100.NET版权所有。