Câu hỏi

Cách tạo row number trong SQL Server mà không cần ROWNUM như thế nào?

Câu trả lời

Để tạo số thứ tự cho mỗi hàng trong SQL Server mà không sử dụng hàm ROW_NUMBER(), bạn có thể sử dụng một số phương pháp khác nhau. Dưới đây là một số cách:

Phương pháp 1: Sử dụng Subquery và COUNT

Bạn có thể sử dụng một subquery với hàm COUNT để tạo số thứ tự dựa trên một cột duy nhất hoặc một kết hợp các cột là duy nhất:

SELECT prdid,
       (SELECT COUNT(*) FROM prd p WHERE p.prdid >= r.prdid) as rnk
FROM prd r
ORDER BY rnk;

Phương pháp này hoạt động bằng cách đếm số lượng hàng có giá trị cột prdid nhỏ hơn hoặc bằng giá trị của hàng hiện tại[1].

Phương pháp 2: Sử dụng Temp Table và IDENTITY

Bạn có thể tạo một bảng tạm thời và sử dụng cột IDENTITY để tự động tạo số thứ tự khi chèn dữ liệu vào bảng tạm thời:

SELECT IDENTITY(INT, 1, 1) AS rowNum, dt
INTO #temp
FROM t...
Bạn cần đăng nhập để xem
middle

middle

Gợi ý câu hỏi phỏng vấn

junior

Làm cách nào để thêm một column có giá trị mặc định vào một table có sẵn trong SQL Server?

senior

Sự khác biệt giữa Clustered indexNon-Clustered index trong SQL Server là gì?

middle

Row constructors trong SQL Server là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào