我从SQL Server 2008表,按相反的顺序(DESC)序列号(行号)需要的数据。
我的表名是ProductDetails
。
我用这个查询
WITH Sum_Ctl (TOt) as
(
select count(*)+1
from ProductDetails
where ProductDetails.UserId = 38
)
SELECT
Tot - ROW_NUMBER() OVER (ORDER BY PrdID asc) AS SNO,
*
FROM
ProductDetails, Sum_Ctl
WHERE
UserId = 38
2192行数据存在于表用户38.我使用上面的查询
SNO column 2192 2191 2190 .... to 1
问题得到它:我需要20行数据,即2020年至2000年只有
我试图and SNO between 2020 and 2000
与查询,但得到
无效的列名称'SNO'。
然后我试图
where
UserId = 38
and Tot - ROW_NUMBER() OVER (ORDER BY PrdID asc) between 2020 and 2000
但
窗函数只能出现在SELECT或ORDER BY子句。
任何帮助,将在这里感谢
认真你已经搞砸了查询请发布样本数据和输出 – mohan111
@ mohan111感谢您的回复,添加了示例屏幕截图 – Fool