Sql (行号)排序依据,未索引正确的列
我得到了这样一个问题:Sql (行号)排序依据,未索引正确的列,sql,sql-server,Sql,Sql Server,我得到了这样一个问题: SELECT COL_A, COL_B, row FROM ( SELECT (SELECT COUNT(*) AS Expr1 FROM ObjectEventEffect WHERE (ObjectEventId = ObjectEvent.Id) AND (Status = 'E')) AS COLA_A, COL_B,
SELECT COL_A, COL_B, row FROM (
SELECT (SELECT COUNT(*) AS Expr1
FROM ObjectEventEffect
WHERE (ObjectEventId = ObjectEvent.Id) AND (Status = 'E')) AS COLA_A,
COL_B,
ROW_NUMBER() OVER (ORDER BY COL_B ASC) ROW
FROM ObjectEvent
) a WHERE a.ROW >= 0 AND a.ROW <= 10
我想要的结果可以通过删除列A的选择来实现
COL_B ROW
2013-10-14 19:51:38.443 1
2013-10-14 19:51:40.053 2
2013-10-14 19:51:40.413 3
2013-10-14 19:51:40.757 4
2013-10-14 19:51:41.007 5
2013-10-16 09:53:44.667 6
2013-10-16 09:53:45.793 7
2013-10-16 09:53:46.043 8
2013-10-16 09:53:46.310 9
2013-10-16 09:53:46.560 10
有没有一种方法可以在不破坏列B顺序的情况下显示列a和列B?试试看
SELECT COL_A,
COL_B,
COL_C,
ROW_NUMBER() OVER(ORDER BY COL_C) AS [ROW]
FROM A_TABLE
order by [ROW] asc
按行添加订单?在FROM条款之后按行添加订单。请立即用更好的数据更新我的问题。您在查询中是否有
OVER(按列C的订单)
或OVER(按列a的订单)
?您显示的结果与查询不匹配。嗯?那么您的意思是,当您向外部查询添加按行排序
时,您没有得到想要的结果?你需要展示更多。用我的代码运行了一些测试,发现COUNT()破坏了我的订单。很抱歉没有在第一时间发布我所有的代码。问题已更新。您应该能够通过在整个查询结束时使用“order by a.ROW asc”来完成此操作。
SELECT COL_A,
COL_B,
COL_C,
ROW_NUMBER() OVER(ORDER BY COL_C) AS [ROW]
FROM A_TABLE
order by [ROW] asc