在阅读实验后,我决定要问:
我正在尝试根据行号的总和从表中检索特定数量的行:这是一个包含两列的基本表:CusID, CusName
。
我开始将每一行编号为1,以便我可以使用行号的SUM,或者我认为。
WITH Example AS
(
SELECT
*,
ROW_NUMBER() OVER (Partition by CusID ORDER BY CusID) AS RowNumber
FROM
MySchema.MyTable
)
我不知道如何超越这里。我尝试使用HAVING
子句,但显然这不起作用。我也可以使用TOP或Percent。
但我想根据行号的总和来检索行。
这样做的方法是什么?
答案 0 :(得分:3)
首先,窗口函数不能在另一个窗口函数或聚合的上下文中使用。所以你不能在row_number中使用聚合函数我认为它可能比你之后使用所有函数更好
WITH Example AS
(
SELECT *, ROW_NUMBER() OVER (Partition by CusID ORDER BY CusID) AS RowNumber
FROM MySchema.MyTable
)
select cusid,cusname,sum(rownumber) from example
group by Cusid,Cusname
having .....