读书人

ms sqlserver中的oreder by 有关问题

发布时间: 2012-05-20 16:03:12 作者: rapoo

ms sqlserver中的oreder by 问题
select * from(select row_number() over(order by itemId) as rowNum,* from item)as items
where rowNum between @begin and @end order by @pageOrder

select * from(select row_number() over(order by itemId) as rowNum,* from item)as items
where rowNum between 3 and 4 order by price desc

上面那种最后的order by 是个传过来的
报错:
由 ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量。

下面是直接用列名,能查询出来, 请问谁能帮我看 第一个中怎么改啊

[解决办法]

SQL code
CREATE TABLE  [学生表](    学号 NVARCHAR(5) NOT NULL PRIMARY KEY,    姓名 NVARCHAR(8),    成绩 FLOAT    )INSERT INTO [学生表]SELECT '003', '张三', 88 UNION ALL SELECT '004', '李四', 99 UNION ALL SELECT '005', '王五', 59 UNION ALL SELECT '006', '赵六', 49DECLARE @var VARCHAR(10)SET @var='成绩'EXEC('SELECT * FROM [学生表] ORDER BY '+@var) 

读书人网 >asp.net

热点推荐