J'ai une table avec un identifiant id, d'une valeur, valider et valeurCalculer la différence de temps et le calcul entre deux rangées
MyTable ressemble à ceci:
+------+------------+---------------------+-------+
| ID | VALUEID | VALUEDATE | VALUE |
+------+------------+---------------------+-------+
| 1 | 2 | 2015-12-21 16:30:00 | 50 |
| 2 | 1 | 2015-12-22 16:33:00 | 54 |
| 3 | 8 | 2015-12-23 16:54:00 | 58 |
| 4 | 6 | 2015-12-24 17:11:00 | 62 |
| 5 | 8 | 2015-12-25 17:11:00 | 66 |
| 6 | 10 | 2015-12-26 10:01:00 | 70 |
| 7 | 7 | 2015-12-27 11:00:00 | 74 |
| 8 | 9 | 2015-12-28 12:03:00 | 78 |
| 9 | 7 | 2015-12-29 12:05:00 | 82 |
| 10 | 6 | 2015-12-30 12:05:00 | 86 |
| 11 | 3 | 2016-01-01 13:19:00 | 90 |
| 12 | 2 | 2016-01-02 13:20:00 | 94 |
| 13 | 7 | 2016-01-03 13:21:00 | 98 |
| 14 | 6 | 2016-01-04 13:51:00 | 102 |
| 15 | 9 | 2016-01-05 13:53:00 | 106 |
| 16 | 3 | 2016-01-06 14:51:00 | 110 |
| 17 | 6 | 2016-01-07 15:31:00 | 114 |
| 18 | 10 | 2016-01-08 15:32:00 | 118 |
| 19 | 7 | 2016-01-09 15:33:00 | 122 |
| 20 | 6 | 2016-01-10 15:34:00 | 126 |
+------+------------+---------------------+-------+
Quand je veux le résultat, which valueid = 6. J'utilise ce code.
id SELECT, valueid, valuedate, valeur à partir MyTable OÙ valueid = 6
Le résultat ressemble à ceci.
+------+------------+---------------------+-------+
| ID | VALUEID | VALUEDATE | VALUE |
+------+------------+---------------------+-------+
| 4 | 6 | 2015-12-24 17:11:00 | 62 |
| 10 | 6 | 2015-12-30 12:05:00 | 86 |
| 14 | 6 | 2016-01-04 13:51:00 | 102 |
| 17 | 6 | 2016-01-07 15:31:00 | 114 |
| 20 | 6 | 2016-01-10 15:34:00 | 126 |
+------+------------+---------------------+-------+
Mais je veux calculer les résultats.
Je voudrais compter combien de jours l'entrée précédente est. En outre, un petit calcul devrait être calculé. Valeur B (moins) Une valeur (diviser) jours.
J'ai essayé quelque chose comme ça, mais je n'ai pas obtenu le résultat.
SELECT A.id, A.valueid, A.valuedate, a.value, (B.valuedate - A.valuedate) AS valuedatediff, (B.value - a.value/valuedatediff) AS valuecalc DE MyTable A INNER JOIN MyTable BMARCHE B.valueid = (A.valueid + 1) où A.valueid = 6
Quoi qu'il en soit, je voudrais ce résultat.
+------+------------+---------------------+-------+---------------+-----------+
| ID | VALUEID | VALUEDATE | VALUE | VALUEDATEDIFF | VALUECALC |
+------+------------+---------------------+-------+---------------+-----------+
| 4 | 6 | 2015-12-24 17:11:00 | 62 | 5 | 4.8 |
| 10 | 6 | 2015-12-30 12:05:00 | 86 | 5 | 3.2 |
| 14 | 6 | 2016-01-04 13:51:00 | 102 | 3 | 4 |
| 17 | 6 | 2016-01-07 15:31:00 | 114 | 3 | 4 |
| 20 | 6 | 2016-01-10 15:34:00 | 126 | 0 | 0 |
+------+------------+---------------------+-------+---------------+-----------+
Merci!
Wow! Merci mec! Tu as sauvé ma journée. –