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 :

Nombre de minutes entre une date et maintenant


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut Nombre de minutes entre une date et maintenant
    Bonsoir,

    Je vous explique mon problème, tout d'abord j'ai 2 tables,
    la premier membres que voici :
    Nom : sql01.png
Affichages : 113
Taille : 6,7 Ko

    Et la secondes disponibilite qui contient pour chaque modification de statut, l'id du membre dans id_perso ainsi que le statut (disponible ou absent) et la date de mise a jour du statut et enfin l'adresse ip d'ou a était mis a jour le statut.
    Nom : sql02.png
Affichages : 104
Taille : 5,5 Ko

    A présent je souhaite créer une requête, qui calcul le nombres de secondes passé entre maintenant et le dernier changement de statut modifié par chaque membres.
    Alors j'ai fait cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT (UNIX_TIMESTAMP(date_perso) - UNIX_TIMESTAMP()) AS nbr_minutes_passe, disponibilite.id_perso, membres.id_membres, membres.mail, membres.nom, membres.prenom, membres.dernier_statut FROM disponibilite, membres WHERE membres.id_membres = disponibilite.id_perso
    Problème : j'obtient la liste de tout les statut modifié, hors seulement le dernier statut modifié pour chaque membres m'intéresse, comment puis je faire, j'ai pensé a order by ou group by mais ou les placer ?

  2. #2
    Nouveau membre du Club
    Femme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2016
    Messages : 23
    Points : 27
    Points
    27
    Par défaut Piste pour ta solution
    Bonjour

    Je peux t'aider en partie.
    Je sais pour l'instant, te dire comment faire pour avoir la différence entre "Maintenant" et la dernière modification enregistrée pour chaque id_perso

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DATEDIFF( Now( ) , MAX( disponibilite.date_perso ) ) AS DiffDate, disponibilite.id_perso
    FROM disponibilite.id_perso
    GROUP BY disponibilite.id_perso;
    Je vais voir si tu trouve comment avoir le résultat en minutes

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    ok je te remercie donc pour obtenir les minutes j'ai fait ceci :
    j'utilise le temps ecoulé depuis le 1/1/1970 a 00h - le datetime au format timestamp dons je prend l'id max comme tu me la montré que je divise par 60 car 60 secondes et j'arrondi tout ca sans chiffre dérriere la virgule, et j'obtient mes minutes dans DiffDateMinutes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ROUND((UNIX_TIMESTAMP() - UNIX_TIMESTAMP(MAX(disponibilite.date_perso)))/60) AS DiffDateMinutes
    est correct ?

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 382
    Points : 19 069
    Points
    19 069
    Par défaut
    Salut à tous.

    @ Delnc : Non, datediff() calcule la différence entre deux dates, en nombre de jours.

    @ gastoncs : date_perso est sous le format date+time, et de ce fait, on peut calculer la différence en seconde.
    Voici un exemple :
    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
    select now() as 'maintenant'
    --------------
     
    +---------------------+
    | maintenant          |
    +---------------------+
    | 2016-04-10 12:15:26 |
    +---------------------+
    --------------
    select             TIMEDIFF(now(), '2016-04-10 12:10:00')  as 'diff1'
    --------------
     
    +----------+
    | diff1    |
    +----------+
    | 00:05:26 |
    +----------+
    --------------
    select TIME_TO_SEC(TIMEDIFF(now(), '2016-04-10 12:10:00')) as 'diff2'
    --------------
     
    +-------+
    | diff2 |
    +-------+
    |   326 |
    +-------+
    5 minutes et 26 secondes est égale à 5 * 60 + 26 = 326 secondes, que l'on retrouve pour DIFF2.

    Est-ce ce genre de résultat que tu recherches ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Nombre d'heures et de minutes entre deux dates
    Par Bes74 dans le forum VBA Access
    Réponses: 1
    Dernier message: 20/03/2014, 19h34
  2. Réponses: 3
    Dernier message: 09/11/2009, 14h00
  3. [XL-2003] difference entre deux nombres en fonction d'une date
    Par revemane dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 11/06/2009, 10h26
  4. nombre de minutes entre deux dates
    Par missmarion dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/02/2006, 18h12
  5. calcule du nombre de jours entre 2 dates
    Par nazimb dans le forum ASP
    Réponses: 4
    Dernier message: 28/09/2004, 15h22

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