| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 828 人关注过本帖
标题:group by 分类汇总中,聚合函数能带条件吗?
只看楼主 加入收藏
潇洒人间一剑仙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:140
专家分:48
注 册:2008-9-19
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:4 
group by 分类汇总中,聚合函数能带条件吗?
比如说,我有一个表,内容如下:
项点    状态
a    0
a    1   
b    0
a    2
c    1
.......
需要的查询结果是
项点    状态0    状态1    状态2
a    74    58    79
b    20    32    50
c    ........
按项点分组,统计各状态的数量
能不能这样写:
sele 项点 cnt(iif(状态=0,状态) 状态0,cnt(iif(状态=1,状态) 状态1,cnt(iif(状态=2,状态) 状态2 from table1 group by 项点
搜索更多相关主题的帖子: 统计 
2013-09-30 18:25
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:1 
sele 项点,cnt(iif(状态=0,1,0) 状态0,cnt(iif(状态=1,1,0)状态1,cnt(iif(状态=2,1,0)状态2 from table1 group by 项点
2013-09-30 18:50
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:680
专家分:1287
注 册:2009-3-1
收藏
得分:19 
sele 项点, sum(iif(状态=0,1,0) 状态0,sum(iif(状态=1,1,0) 状态1,sum(iif(状态=2,1,0) 状态2 from table1 group by 项点
2013-09-30 18:59
潇洒人间一剑仙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:140
专家分:48
注 册:2008-9-19
收藏
得分:0 
2楼的代码缺括号,补全后仍然提示语法错误,可能cnt确实不支持
用sum可以实现
SELECT 表2.项点, SUM(IIF(状态="1",1,0)) AS s1,;
  SUM(IIF(状态="2",1,0)) AS s2, SUM(IIF(状态="0",1,0)) AS s0;
 FROM label1;
 GROUP BY label1.项点
已调试通过

[ 本帖最后由 潇洒人间一剑仙 于 2013-9-30 19:01 编辑 ]
2013-09-30 18:59
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
回复 4楼 潇洒人间一剑仙
没细看 只是把楼主的改了下
2013-09-30 19:43
快速回复:group by 分类汇总中,聚合函数能带条件吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029791 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved