Selection par interval de temps

Résolu
bubbledesavon - 14 nov. 2013 à 17:40
jee pee Messages postés 40286 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 octobre 2024 - 9 déc. 2013 à 13:15
Bonjour,
voila, j'ai une table sql ou il y a un enregitrement toutes les 2 secondes , elle possede une colonne date_time.
j'aimerais pour un affichage en graphique pouvoir selectionner les enregitrements a partir du momment ou je le demande jusque 24 heures avant mais seulement toutes les heures
comme je ne trouve pas , je voulais savoir comment selectionner les 24 derniers enregistrements (id) avec un interval de 1800(id) (se qui correspond au nombres d'enregistrement a l'heure) :
soit id (24heure)=10230,id(23heure)=8430,id(22heures)=6630....
j'espere etre clair

je vous remercie d'avance, je suis a mon cinquieme neurofene.

3 réponses

jee pee Messages postés 40286 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 octobre 2024 2
Modifié par jee pee le 14/11/2013 à 18:07
Salut,

Une suggestion, pas super compacte, mais ...

select * from table
where id in (select max(id) from table
             union
             select max(id) - (1800*1) from table
             union
             select max(id) - (1800*2) from table
...
             union
             select max(id) - (1800*23) from table ) 


cdlt


        Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0
bubbledesavon Messages postés 65 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 6 mars 2015
14 nov. 2013 à 21:19
Merci , j y avais pensé, ca fait quand un gros travail d ecriture , surtout quand je vais commencer au les historiques au mois et a l annee....
Je pensais trouver un truc du style LIMIT ( dernier id, 1800, 24)
Ou un truc du style
Currentdate ( ddmmyy hhmmss) where hh 1->24 mm=mm &ss=ss

Je continue a chercher mais je suis preneur de tout aide

Merci d avance

--
0
bubbledesavon Messages postés 65 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 6 mars 2015
Modifié par bubbledesavon le 9/12/2013 à 11:53
bonjour,

pour ceux a qui cela insteresse , j'ai reussi avec la fonction MOD de sql
"SELECT * from table where id mod 1800=0 order by id DESC limit 0,432000"
cela selectionne tout les id divisible par 1800 et dont le reste est egale a "0"

merci a vos reponses , et j'espere que cela aidera mon prochain

j'aimerais mettre resolu , mais je ne voit pas le bouton
0
jee pee Messages postés 40286 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 octobre 2024 2
9 déc. 2013 à 13:15
Avec un brin de réflexion et d'astuce ;-)

J'ai mis en résolu, tu ne dois pas avoir le lien (qui est au dessus de la question) car tu as posé la question en anonyme, non connecté avec ton compte.
0
Rejoignez-nous