प्रत्येक पंक्ति पर पंक्ति संख्या का मूल्यांकन नहीं किया जाता है, हालांकि केस स्टेटमेंट इसलिए हैं कि आप राउनम के साथ फंस गए हैं चाहे कोई भी मामला हो।
इसके बजाय इसे आजमाएं:
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
)