2012-10-16 25 views
12

Có cách nào để sử dụng ROW_NUMBER() trong SQL mà không sử dụng OVER, vì tôi muốn sử dụng sắp xếp.ROW_NUMBER() mà không có trong SQL

Tôi có Lưới có nhiều cột có thể sắp xếp với các hàng có thể định cấu hình. Trong thứ tự kịch bản của tôi bởi là biến đó là lý do tại sao tôi không thể đặt hàng bằng cách sử dụng ROWNUM.

+2

MySQL không có ROW_NUMBER. Tại sao bạn gắn thẻ này với MySQL? –

+3

Không [đó là phần bắt buộc của ngữ pháp] (http://msdn.microsoft.com/en-us/library/ms186734.aspx). Giải thích thêm về nhu cầu gốc của bạn cho điều này thay vì giải pháp được đề xuất của bạn. –

+0

@MarkByers Xin lỗi bởi sai lầm, đã xóa !! –

Trả lời

37
select ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) as number from Task order by RuleId 
+0

cũng giống như: ROW_NUMBER() OVER (Order By RuleId), tôi cũng không muốn lặp lại cùng thứ tự theo mệnh đề cho câu lệnh OVER. – hazimdikenli

+0

Không, nó không giống nhau, nhưng tạo ra kết quả tương tự cho truy vấn này. Bạn có thể (SELECT NULL) thay vì cột thực để bỏ qua thứ tự trong 'cửa sổ' trong bất kỳ (tôi nghĩ) các kịch bản phức tạp với row_number() – SalientBrain

Các vấn đề liên quan