Tôi có một bảng như thế này:Làm cách nào để có được sự khác biệt giữa hai hàng cho một trường cột?
giá trị rowIntrowInt Value
2 23
3 45
17 10
9 0
....
Cột là số nguyên nhưng không phải trong một chuỗi với cùng increament. Tôi có thể sử dụng sql sau để liệt kê các giá trị theo rowInt:
SELECT * FROM myTable ORDER BY rowInt;
Điều này sẽ liệt kê các giá trị theo rowInt. Làm thế nào có thể nhận được sự khác biệt của giá trị gia tăng giữa hai hàng với kết quả như thế này:
rowInt Value Diff
2 23 22 --45-23
3 45 -35 --10-45
9 0 -45 --0-45
17 10 10 -- 10-0
....
Bảng này là trong SQL 2005 (Miscrosoft)
Có dự định bạn có 10-45 ở hàng thứ hai không? Bạn lấy 10 từ đâu? – Quassnoi
một số calcs không nhất quán ... row2's (45-23) là row3-row2, nhưng row9's (0-45) là row9-row3, có nên không (10-0) là row17-row9 không? – MatBailie
Có vẻ như bạn muốn tính sự khác biệt giữa các giá trị liền kề trong các hàng ban đầu của bạn (2, 3, 17, 9). Sau đó, tôi sẽ phải hỏi bạn: cột hàng ORIGINAL của bạn được sắp xếp là gì? Hãy nhớ rằng không có thứ như 'thứ tự mặc định' trong SQL. – Quassnoi