【问题标题】:Aggregation in SQL to calculate sum and percentageSQL中的聚合以计算总和和百分比
【发布时间】:2017-10-22 09:18:52
【问题描述】:

我的数据库中有这个数据,它显示了有多少用户被邀请和参与,我想计算以下内容:

1- 邀请总数(总数)
2- 参与(允许的总和,to_be_paid, already_paid)
3- 已响应(允许、to_be_paid、have_paid、user_declined、user_willing 的总和)
4- 无响应(过期,提供的总和)
5- 响应率(已响应/总计*100)
6- 参与率(参与/总数*100)

我希望能够得到这样的结果:

【问题讨论】:

  • 你已经尝试过什么了吗?
  • 请阅读meta.stackoverflow.com/questions/285551/… 和接受的答案
  • 您使用的是哪个DBMS 产品?后格雷斯?甲骨文? “SQL”只是一种查询语言,并不是特定数据库产品的名称。
  • 请将您现有的查询添加到问题中,不要尝试使用评论(这是评论)。将来考虑使用文本表格而不是图像。
  • 此问题已标记为元数据库,但似乎与 metabase 无关。

标签: sql metabase


【解决方案1】:

我认为这可以帮助你。我改成这个并测试它是正确的

  declare @Responded int
  declare @Total int
  declare @Participated int

  set @Total=(select SUM([count]) as Total from [dbo].[tb1])

  set @Participated=(select SUM([count]) as Participated  from [dbo].[tb1]
  where Status in('allowed', 'to_be_paid', 'already_paid'))

  set @Responded=( select SUM([count]) as Responded   from [dbo].[tb1]
  where Status in('allowed', 'to_be_paid', 'already_paid', 'user_declined', 'user_willing'))
(SELECT  [Status]
      ,cast([count] as DECIMAL(38,0))
  FROM [Identity].[dbo].[tb1]
  )
  union 
  (
  select 'Total',cast(@Total as DECIMAL(38,0))
  )
  union 
  (
  select 'Participated',cast(@Participated as DECIMAL(38,0))
  )
  union 
  (
  select 'Responded',cast(@Responded as DECIMAL(38,0))
  )
  union 
  (
  select 'No response',cast(SUM([count]) as DECIMAL(38,0)) as [count] from [dbo].[tb1]
  where Status in('expired', 'offered')
  )
  union(
  select 'Response rate', cast(((100.0 * @Responded)/ @Total)as DECIMAL(38,0)) as [count]
  )
  union(
  select 'Participation rate',cast(((100.0 * @Participated)/ @Total)as DECIMAL(38,0))as [count]
  )

【讨论】:

  • 我试过这个,但它对我不起作用:(。这是我当前查询的样子:SELECT count(*) AS "count", "public"."participants "."status" AS "status". FROM "public"."participants". GROUP BY "public"."participants"."status". ORDER BY "public"."participants"."status" ASC.跨度>
  • 如果不正确,首先更改您的表名和列名
猜你喜欢
  • 2014-12-24
  • 2017-01-03
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-22
相关资源
最近更新 更多