【发布时间】:2019-02-14 01:10:40
【问题描述】:
我有一个 select 语句,它在表中按时间戳和年份/半年显示一组总计。
但我无法添加一种显示记录总数的方法。我可以在没有子查询的情况下做到这一点吗?或者我是否必须在结果中添加一列并使其成为运行总计?
这是我目前所拥有的:
SELECT
SUM(x) Total
FROM
(
SELECT YEAR(TimeStamp) Year, 1 + MONTH(TimeStamp) / 7 Half, count(*) ct
FROM Table1
WHERE Row1 = 'Blah'
GROUP BY YEAR(TimeStamp), 1 + MONTH(TimeStamp) / 7
ORDER BY Year DESC, Half ASC
)
x
但它不会正确解析。我确定我的语法有问题,但我不确定如何让它在底部或任何地方显示总计,即使在结果中也是如此。
我看到了Percent to total in PostgreSQL without subquery 的问题,但我不想扫描表格两次,而且我还不了解窗口函数,但我尝试过,但无法让它在这里工作。
【问题讨论】:
-
你不能对整个子查询求和。但我不清楚你想在这里做什么。
-
您能在结果中显示您想要的内容吗?只有总和,总和的新行还是总和的列?
标签: sql sql-server select