【问题标题】:COUNT how many times a value appears and divide it by the number of total dataCOUNT 一个值出现多少次,然后除以总数据数
【发布时间】:2021-05-16 22:00:48
【问题描述】:

我需要编写一个 SQL 查询来计算某个值出现的次数,但是我需要将其除以干预的总数(不同的表 = dbo.gi3_intervention.gi3_n_intrvt)并将其乘以 100得到pourcentage。

我只知道如何计算某个值出现的次数,但我不知道如何进行除法。

编辑:

我需要将其除以自 2021 年 5 月 1 日以来关闭的干预措施的数量。干预表与上述表格相关联。

干预表=dbo.gi3_intervention.gi3_n_intrvt 类型应该是'08',所以dbo.gi3_intervention.GI3_C_TYPE_INTRVT = '08' 并且应该自 2021 年 5 月 1 日起关闭,所以dbo_GI3_INTERVENTION.GI3_D_CLOT_INTRVT = '>2021-05-01'

这是我得到的:

SELECT count(*)
FROM dbo.gi3_note_intervention_appr_site
WHERE dbo.gi3_note_intervention_appr_site.gi3_c_sous_sujt_note = 'Etud tech Renseig add'

【问题讨论】:

  • 我们需要更多信息。比如,表格是否链接?如何过滤不同表上的值 (dbo.gi3_intervention)。数据和预期结果的示例也很好。
  • 用你正在使用的数据库标记你的问题(我猜是基于dbo的SQL Server)。
  • 我看到你编辑了这个问题,但你仍然没有指定表格是如何链接的(通过哪个字段)。一个例子总是一个好主意。

标签: sql


【解决方案1】:

这回答了问题的原始版本。

您可以使用条件聚合。一种优雅的方式(在我看来)使用AVG()

SELECT AVG(CASE WHEN nias.gi3_c_sous_sujt_note = 'Etud tech Renseig add' THEN 100.0 ELSE 0 END) as percentage_etud
FROM dbo.gi3_note_intervention_appr_site nias

【讨论】:

  • 感谢您的快速回复,但我的问题有误。我编辑了我的问题。我需要将找到的第一个数字除以自 2021 年 5 月 1 日以来关闭的干预总数……如果您能提供帮助,将不胜感激!谢谢。
  • @ChNa 。 . .这极大地改变了问题,这是关于表格以及如何进行特定计算的原始问题。当一个问题得到回答时,问一个新的问题真的更好。
  • 我明白了。感谢您的时间。当我猜大约 60 分钟后 stackoverflow 再次允许它时,我会问这个问题。再次感谢您,希望在我的第二个问题上见到您!
  • @ChNa 。 . .干杯。谢谢你。有时网站上的新用户认为这是“猜我的问题”的游戏。出于这个原因,我倾向于对修改后的问题做出强烈反应。
  • 如果有兴趣,请继续我的第一个问题....stackoverflow.com/questions/67562485/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
  • 2019-11-23
  • 2021-10-28
  • 1970-01-01
  • 2011-11-18
  • 2014-03-03
  • 1970-01-01
相关资源
最近更新 更多