I ont un tableau comme suit:Comment obtenir une différence entre deux lignes pour un champ de colonne?
rowInt Value
2 23
3 45
17 10
9 0
....
Les valeurs de rowInt de colonne sont des nombres entiers, mais pas dans une séquence de même increament. Je peux utiliser le sql suivant pour lister les valeurs par rowInt:
SELECT * FROM myTable ORDER BY rowInt;
Ceci affichera les valeurs par rowInt. Comment obtenir obtenir la différence de valeur entre les deux lignes avec le résultat comme celui-ci:
rowInt Value Diff
2 23 22 --45-23
3 45 -35 --10-45
9 0 -45 --0-45
17 10 10 -- 10-0
....
Le tableau est dans SQL 2005 (Miscrosoft)
Est-il prévu que vous ayez 10-45 dans la deuxième rangée? D'où prenez-vous un 10? – Quassnoi
certains calculs ne sont pas cohérents ... row2 (45-23) est row3-row2, mais row9's (0-45) est row9-row3, ne devrait-il pas être (10-0) qui est row17-row9? – MatBailie
Il semble que vous vouliez compter la différence entre les valeurs adjacentes dans votre jeu de lignes d'origine (2, 3, 17, 9). Ensuite, je vais devoir vous demander: quelle est la colonne sur laquelle votre ensemble de lignes ORIGINAL est trié? Rappelez-vous qu'il n'y a pas de «commande par défaut» dans SQL. – Quassnoi