我有一个 SQL 查询,需要查找整数列的总和,然后将其转换为特定的数字数据类型。然而,我面临的问题(我相信)是由于我还需要使用 OVER 子句。
我目前的工作原理(我的查询中有更多的列和其他逻辑,但我相信问题是由于 OVER 子句造成的,所以我忽略了其他逻辑):
SELECT SUM(CAST(DeptID AS NUMERIC(38,1))) over( ) as [DeptID Avg]
FROM table
GROUP BY DeptID
需要查询但不起作用:
SELECT CAST(SUM(DeptID) AS NUMERIC(38,1)) over( ) as [DeptID Sum]
FROM table
GROUP BY DeptID
这是我收到的错误:
消息 156,第 15 级,状态 1,第 1 行
关键字“over”附近的语法不正确。
消息 156,第 15 级,状态 1,第 24 行
关键字“as”附近的语法不正确。
消息 153,第 15 级,状态 2,第 24 行
FETCH 语句中 NEXT 选项的使用无效。
您的查询没有任何意义
但是窗口函数必须像
SUM(column) OVER( PARTITON BY column2 'ORDER BY column3)
syntx是固定的,必须遵守,然后yozu才能施放
SELECT CAST(SUM(DeptID) over( ) AS NUMERIC(38,1)) as [DeptID Sum]
FROM table1
GROUP BY DeptID