IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Différence entre deux dates


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut Différence entre deux dates
    Bonjour,
    J'ai une base mysql avec la structure suivante:
    Nom : mysql.JPG
Affichages : 156
Taille : 47,1 Ko

    Je souhaiterais savoir comment faire soit avec un script PHP, soit par une autre methode pour inserer une colonne qui aurait la difference entre les valeurs de deux dates consécutives.
    Exemple:
    id date time value difference
    9014 2014-09-07 17:01:01 2571385 5
    9015 2014-09-07 18:01:01 2571391 6

    et ainsi de suite ( 5 correspond à 2571385 - 2571380 et 6 correspond à 2571391 - 2571385 )

    Ma table est rempli par un cron a intervalle de 1 heure.

    Merci pour votre aide
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    1)
    J'ai une base mysql avec la structure suivante:
    Ce que vous présentez n'est pas une base mais une table !

    2)
    inserer une colonne qui aurait la difference entre les valeurs de deux dates consécutives.
    Inutile d'ajouter une colonne puisque c'est calculable par une requête !

    Cette requête devrait faire l'affaire, en supposant que la date/heure précédente soit systématiquement l'identifiant précédent :
    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
    SELECT tmp.id, 
    	tmp.value, 
    	tmp.id_precedent,
    	t3.value AS value_precedente,
    	tmp.value - t3.value AS difference
    FROM
    (
    	SELECT t1.id, t1.value, 
    		MAX(t2.id) AS id_precedent
    	FROM la_table t1
    	INNER JOIN la_table t2 ON t2.id < t1.id
    	GROUP BY t1.id, t1.value 
    ) tmp
    INNER JOIN la_table t3 ON t3.id = tmp.id_precedent
    ORDER BY tmp.id
    À adapter et à vérifier.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    Merci pour votre réponse rapide .
    Désolé pour l'erreur d'appelation....c'est bien une table.
    Par contre, je préfèrerai renseigner une colonne car d'autre traitements sont fait sur cette nouvelle colonne.
    Merci d'avance

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Vous avez la manière de calculer la colonne ; à vous de créer la colonne et de la remplir. Je ne vais non plus faire tout votre boulot !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    Bonjour à tous,
    J'ai avancé sur le sujet avec le script suivant qui integre une requête mysql:
    Nom : phpmysql.JPG
Affichages : 123
Taille : 73,6 Ko

    ce qui rempli la table Consommation avec la colonne diff :
    Nom : mysqldiff.JPG
Affichages : 117
Taille : 38,2 Ko

    Ce que je n'arrive pas à faire c'est que les données de la colonne diff soient directement divisé par 100.
    Que faudrait il changer dans le script PHP (partie ou il y a un Update )?

    Merci bcp d'avance

  6. #6
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Euh... Je sais pas ce que fait ton script PHP, mais il ne fait clairement pas ce que tu décris...

    Sinon, un indice : pour diviser, on utilise le symbole "/" en informatique.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2006, 14h04
  2. Nombre de minutes de différence entre deux dates
    Par Oberown dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 05/05/2006, 15h41
  3. Différence entre deux dates
    Par Azharis dans le forum Access
    Réponses: 3
    Dernier message: 11/01/2006, 10h58
  4. Différence entre deux dates
    Par pittzz dans le forum Oracle
    Réponses: 5
    Dernier message: 18/07/2005, 12h24
  5. Comment obtenir la différence entre deux dates ?
    Par jbat dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2005, 09h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo