SQL的case when语法问题

jonglin 2012-08-08 11:13:07
在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.
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jonglin 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
示例:
(SUM(IIF(verdict= 'failed' , 1 , 0 ))*100.0/COUNT(*)) & '%'
[/Quote]

转换成百分比的形式,此方法正确;已验证
ACMAIN_CHM 2012-08-09
  • 打赏
  • 举报
回复
[Quote]ps:Access是不是也不支持CAST; 例如:LTRIM(CAST(SUM(IIF((verdict) = 'failed' , 1 , 0 ))*100.0/COUNT(*)))[/Quote]是的。ACCESS本身不支持
wwwwb 2012-08-09
  • 打赏
  • 举报
回复
示例:
(SUM(IIF(verdict= 'failed' , 1 , 0 ))*100.0/COUNT(*)) & '%'
jonglin 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

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;
[/Quote]

正解,谢谢

ps:Access是不是也不支持CAST; 例如:LTRIM(CAST(SUM(IIF((verdict) = 'failed' , 1 , 0 ))*100.0/COUNT(*)))
jonglin 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

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;
[/Quote]

即使换成这样写,也是不行,貌似Access中,when是不可用的;谢谢你
ACMAIN_CHM 2012-08-08
  • 打赏
  • 举报
回复
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;
WWWWA 2012-08-08
  • 打赏
  • 举报
回复
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;

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧