发布
社区首页 >问答首页 >使用sql显示列中每个元素的总和?

使用sql显示列中每个元素的总和?
EN

Stack Overflow用户
提问于 2019-07-26 03:50:31
回答 2查看 35关注 0票数 0

我有来自数据库的简单数据,如下所示

代码语言:javascript
代码运行次数:0
复制
ID   sid   targetbuttonname

1    ab23sve   Yes
2    ab23sve   Yes
3    ab23sve   Yes
4    ab23sve   Yes
5    z32b2367  no
6    zb23sve   no
7    pb23sve   Yes

我想用sql显示session的和,yes的和,no的和;

例如,yes的总和应为5

我试过这样的东西

代码语言:javascript
代码运行次数:0
复制
select sum(sid), count(targetbuttoname) as yes, count(targetbuttoname) as no from events

显示我想要的内容的正确方式是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-26 03:55:17

想必,你想要计算一下这些东西。所以,我猜:

代码语言:javascript
代码运行次数:0
复制
select count(*) as num_rows,
       count(distinct sid) as num_sessions,
       sum( targetbuttonname = 'yes' ) as num_yes,
       sum( targetbuttonname = 'no' ) as num_no
from events;

Here是一个db<>fiddle。

票数 1
EN

Stack Overflow用户

发布于 2019-07-26 03:53:09

如果你想计算yes和no的数量,那么你可以使用case when

代码语言:javascript
代码运行次数:0
复制
  select  sum(case when targetbuttoname='yes' then 1 else 0 end) as yes,
  sum(case when targetbuttoname='no' then 1 else 0 end) as  no from events
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57209262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档