【问题标题】:How to use an sum() function without group by?如何在没有 group by 的情况下使用 sum() 函数?
【发布时间】:2016-09-20 10:43:23
【问题描述】:

我只需要省略那些在所有 53 周中的销售额总和为 0 并且需要没有 group by 的输出的记录

【问题讨论】:

  • 只需select sum(col) from table where ...
  • 您可以发布您的数据样本吗?
  • 您能分享一下您的表格结构、一些示例数据以及您想要得到的结果吗?按照目前的措辞,很难理解这个问题。
  • 您使用的是什么 DBMS? Postgres、Sql Server、MySQL、Oracle?

标签: sql aggregate-functions having


【解决方案1】:

您无法在一个查询中真正得到它。 要获得没有任何销售额总和的所有年份,您必须对销售额求和。

即: 第一: select YEAR(date) from YourTable group by YEAR(date) having sum(sales) > 0

然后: select * from YourTable where Year in (<firstquery>) as aliasname order by <anydatecolumn>

如果您使用的是 mssql,您可以使用 OVER 子句和分区在一个查询中执行此操作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-08
    • 2022-01-04
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    相关资源
    最近更新 更多