行番号はすべての行で評価されるわけではありませんが、case ステートメントは評価されるため、どのような場合でも rownum に固執します。
代わりにこれを試してください:
ROW_NUMBER() OVER ( ORDER BY CASE WHEN @orderby = 0 AND @orderdir = 1 THEN ne.[time] END DESC, CASE WHEN @orderby = 0 AND @orderdir = 2 THEN ne.[time] END ASC, CASE WHEN @orderby = 1 AND @orderdir = 1 THEN ne.lastedit END DESC, CASE WHEN @orderby = 1 AND @orderdir = 2 THEN ne.lastedit END ASC, CASE WHEN @orderby = 2 AND @orderdir = 1 THEN ne.title END ASC CASE WHEN @orderby = 2 AND @orderdir = 2 THEN ne.title END DESC )
プレ>