Bonjour,
j'ai une table avec des données qui sont inséré tout les jours, avec la date du jour dans "created", chaque jour il y à la "population" qui change dans la table pour chaque village, et il me faut dans la requête, le delta du j et j-1 de la population, j'ai fait deux sous-requête pour ça : une requête qui ramène la population du jour j, une autre qui ramène la population du jour j-1, et je fait le delta, est ce que ça serait mieux de faire ça avec des "join" ou les sous requête sont viable ou si vous avez un moyen plus optimisé je suis preneur.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 SELECT x.aid, x.vid, x.village, x.population, d.delta FROM ( SELECT TO_DAYS(MAX(created)) AS mx FROM x_world ) s, ( SELECT min.vid, min.village, (max.population - min.population) delta FROM ( SELECT vid, village, population FROM ( SELECT TO_DAYS(MAX(created))-1 AS mx FROM x_world ) s, x_world x WHERE player = %s AND TO_DAYS(x.created) = s.mx ) min, ( SELECT vid, village, population FROM ( SELECT TO_DAYS(MAX(created)) AS mx FROM x_world ) s, x_world x WHERE player = %s AND TO_DAYS(x.created) = s.mx ) max WHERE min.vid = max.vid ) d, x_world x WHERE player = %s AND TO_DAYS(x.created) = s.mx AND x.vid = d.vid
Partager