Supposons que j'ai ce codeMySql différences mobiles?
create temporary table somedata (a integer);
insert into somedata (a) values (11), (25), (62); --#these values are always increasing
select * from somedata;
donnant cette
+--+
|a |
+--+
|11|
|25|
|62|
+--+
Comment calculer une colonne de valeurs de b 'où chacun est la différence entre la valeur de « a » dans le courant ligne et la valeur de «a» dans la rangée précédente?
+--+--+
|a |b |
+--+--+
|11| 0| # ie 11-11 since theres no preceding row
|25|14| # ie 25-11
|62|37| # ie 62-25 etc
+--+--+
C'est tellement évident dans openoffice ou Excel que je me sens un peu stupide de ne pas avoir encore trouvé comment faire sur le site de MySql, ni nulle part ailleurs.
Il est évident dans une feuille de calcul, car faire ces choses est une composante essentielle de son modèle de données. La prémisse du modèle de données relationnelles (google: // algèbre relationnelle) est que chaque table est un ensemble non ordonné de lignes indépendantes - le concept d'une ligne "suivante" ou "précédente" n'existe pas. –