34,590
社区成员
发帖
与我相关
我的任务
分享
with a as (
--------------------------------------------------
)
select ROW_NUMBER() OVER (ORDER BY C.姓名 ASC) 序号,c.*
from (select s_id,a_no from a ORDER BY s_id,a_no) c
select ROW_NUMBER() OVER (ORDER BY C.姓名 ASC) 序号,c.*
-- 这个,把你要排序的列,都写在 order by 后面就可以了
select ROW_NUMBER() OVER (ORDER BY C.姓名 ASC , s_id,a_no ) 序号,c.*
with a as (
--------------------------------------------------
)
select ROW_NUMBER() OVER (ORDER BY C.姓名 ASC) 序号,c.*
from (select s_id,a_no,姓名 from a ORDER BY s_id,a_no ) c
错误提示
"除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。"
换成
with a as (
--------------------------------------------------
)
select ROW_NUMBER() OVER (ORDER BY 姓名 ASC) 序号,s_id,a_no,姓名
from a
ORDER BY s_id,a_no,姓名
序号是错乱的,上面的段代码又报错!
我只想要 ORDER BY s_id,a_no,姓名 排序 加一列序号
有没有别的解决办法,谢谢!
with a as (
--------------------------------------------------
)
select ROW_NUMBER() OVER (ORDER BY C.姓名 ASC) 序号,c.*
from (select s_id,a_no from a) c