Probleme de Selection multiples

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme de Selection multiples

Re: Probleme de Selection multiples

par Invité » 17 févr. 2015, 18:58

trop cool j'ai tester et ca fonctionne du feu de dieu... reste a implementer ca avec la boucle et le tour est joué...
Merci beaucoup... je reviendrais pour vous montrer le résultat

Re: Probleme de Selection multiples

par @rthur » 16 févr. 2015, 20:27

J'ai eu envie de tester ma 2ème étape et ça fonctionne :
SELECT *, ABS(TIMEDIFF(dateheure, '2015-02-16 15:00:00')) as delta FROM `ta_table` ORDER BY delta ASC LIMIT 1
Il ne te reste plus qu'à mettre ça dans une boucle for en PHP pour déterminer chaque quart d'heure étudié.
strtotime("+15 minutes") te seras probablement d'une grande aide ;)

Re: Probleme de Selection multiples

par @rthur » 16 févr. 2015, 20:08

C'est probablement faisable avec une seule requête complexe avec mySQL.
Perso, je pense que je ferrai ça en 2 étapes pour simplifier le travail, voila comment moi je le ferrai :

1) Faire une boucle sur tous les 1/4 d'heure d'une journée

2) Faire une requête SQL avec un TIMEDIFF() entre la date et heure stockée en bdd et la date et heure du quart d'heure étudié.

Cela va te donner l'écart entre la date étudiée et les dates stockées, avec des valeurs positives et négatives suivant que la date de la bdd soit avant ou après la date étudiée.
Il suffit d'ajouter un ABS() pour avoir la valeur absolue et donc tout en positif.
Et donc pour finir de faire un ORDER BY ton_champ_diff ASC LIMIT 1 pour récupérer la valeur la plus proche du quart d'heure étudié.

Re: Probleme de Selection multiples

par Invité » 16 févr. 2015, 17:29

Bonjour et merci
en fait je cherche a avoir les lignes correspondante au plus proche de chaque 1/4 heure

par exemple si j'ai 12 lignes comme ca

"2015-16-02 14:59:58" 1
"2015-16-02 15:00:03" 2
"2015-16-02 15:14:15" 3
"2015-16-02 15:15:03" 4
"2015-16-02 15:29:57" 5
"2015-16-02 15:30:02" 6
"2015-16-02 15:45:40" 7
"2015-16-02 15:45:20" 8

la requete devrait me retourner
"2015-16-02 14:59:58" 1
"2015-16-02 15:15:03" 4
"2015-16-02 15:30:02" 6
"2015-16-02 15:45:20" 8


Voila. Je ne suis pas une grosse brute du SQL, j'ai encore essayer avec des UNION mais , pfffff, je sature un peu

Re: Probleme de Selection multiples

par @rthur » 16 févr. 2015, 16:26

j'essaye de récupérer une table contenant tout les Mean et timestamp des plus proches des 15 minutes(0 , 15 , 30, 45).
Qu'entends-tu par "les plus proches des 15 minutes" ?
Il faut que tu définisses de façon précise ce que tu cherches : par exemple tous ceux qui sont entre XX:14:30 et XX:15:30 ?

Probleme de Selection multiples

par Invité » 16 févr. 2015, 15:13

Bonjour a Tous.

toujours des problemes avec des selections avec des DateTime
j'ai une table qui comporte deux champs
timestamp et Mean
2015-01-22 17:11:38 0.0
2015-01-22 17:12:20 0.0
2015-01-22 17:12:34 0.0
2015-01-22 17:12:48 0.0
etc...

cette table contient pas mal d’éléments (108475 pour etre précis)
j'essaye de récupérer une table contenant tout les Mean et timestamp des plus proches des 15 minutes(0 , 15 , 30, 45).

Je ne vois pas comment faire cette requete j'ai essayer quelques truc mais rien ne semble tres probants

Deja un grand merci a ceux qui vont pouvoir m'aider