统计SQL求教

百曉生 2017-11-09 02:23:44
表的字段内容如下图:
问题:如何根据xb统计所有的数据量,并且当xl字段内容相同并且xb为男时算一条数据,比如xb为男xl为仙剑一时有两条数据,统计时算一条
求教!
...全文
283 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
百曉生 2017-11-09
  • 打赏
  • 举报
回复
引用 4 楼 qq646748739 的回复:
select t3.id,to_char(t3.time1,'yyyy-MM-dd'),
       count(case when t3.button='1' then 1 end) a1,
       count(case when t3.button='2' then 2 end) a2, 
       count(case when t3.button='3' then 3 end) a3,
       count(case when t3.button='' then 4 end) a4
       from table1 )
) t3 group by to_char(t3.time1,'yyyy-MM-dd'),id 
您好,再请问下上面这个,table1还有个字段是cs,实际是在统计button为3时,如果table1中cs字段和button为3的数据的cs字段值相同并且button相同则取一条,否则不统计, 假设表中button为3的数据有一条,它的cs值为111,而cs值为111的数据在table1中总共有5条,如果这5条的button都为3就统计为1条数据,否则不统计,请问该怎么写呢
百曉生 2017-11-09
  • 打赏
  • 举报
回复
引用 4 楼 qq646748739 的回复:
没问题的话,此楼结贴!
不好意思看错了,我再看看啊
百曉生 2017-11-09
  • 打赏
  • 举报
回复
引用 3 楼 qq646748739 的回复:
很简单的SQL,请把表名称换成你实际的表名

select xb,xl,sum(decode(xb,'男',1,cnt)) as cnt
   from(select xb,xl,count(id) as cnt  from 表名称 group by xb,xl)
  group by xb,xl;
我的意思是xb为女的也要统计,假如总共有5条,统计为5,xb为男的数据,假如有5条,其中两条xl相同,算一条,另外三条xl都不相同,则统计为4条,假如有三条xl相同,另外两条xl和这三条不同,则统计为3条
碧水幽幽泉 2017-11-09
  • 打赏
  • 举报
回复
没问题的话,此楼结贴!
碧水幽幽泉 2017-11-09
  • 打赏
  • 举报
回复
很简单的SQL,请把表名称换成你实际的表名

select xb,xl,sum(decode(xb,'男',1,cnt)) as cnt
from(select xb,xl,count(id) as cnt from 表名称 group by xb,xl)
group by xb,xl;

百曉生 2017-11-09
  • 打赏
  • 举报
回复
引用 1 楼 qq646748739 的回复:
当xl字段内容相同并且xb为女时算一条数据,还是算实际的条数呢?
xb为女时全部统计,有几条算几条,为男时如果xl相同则取一条
碧水幽幽泉 2017-11-09
  • 打赏
  • 举报
回复
当xl字段内容相同并且xb为女时算一条数据,还是算实际的条数呢?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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