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 :

GROUP BY sur champ date


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut GROUP BY sur champ date
    Bonjour

    Comment obtenir un seul enregistrement (MIN ou MAX peu importe) pour une période désirée ? : (30 minutes ou 1h par exemple)

    2007-01-05 11:57:36 672 a4000096
    2007-01-05 11:38:04 672 a4000096
    2007-01-05 11:37:53 675 A4000096
    2007-01-05 11:37:53 644 A4000096
    2007-01-05 11:11:38 673 A4000096
    2007-01-05 11:11:21 675 A4000096
    2007-01-05 11:10:19 675 A4000096
    2007-01-05 11:09:37 675 A4000096
    2007-01-05 10:06:04 673 A4000096
    2007-01-05 09:53:50 673 A4000096
    2007-01-05 09:31:14 673 A4000096
    2007-01-05 08:50:25 673 A4000096
    2007-01-05 08:03:11 673 A4000096

    Si la période est 1 heure je devrais obtenir :

    2007-01-05 11:57:36 672 a4000096
    2007-01-05 10:06:04 673 A4000096
    2007-01-05 09:53:50 673 A4000096
    2007-01-05 08:50:25 673 A4000096

    Merci d'avance

  2. #2
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Peut-être un

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ... GROUP BY YEAR(champ_date), DAYOFYEAR(_champ_date), HOUR(champ_date)

    Mais y'a peut-être plus simple, à voir dans la doc MySQL.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut
    Citation Envoyé par Xunil
    Peut-être un

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ... GROUP BY YEAR(champ_date), DAYOFYEAR(_champ_date), HOUR(champ_date)

    Mais y'a peut-être plus simple, à voir dans la doc MySQL.
    C'est la solution que j'utilise actuellement, mais elle ne fonctionne pas pour une période inférieure à 1h et supérieur à 1 minute ...

    Je pensais à du DATE_DIFF ou un INTERVAL, mais j'avoue être dépassé désormais.

    Merci quand même.

  4. #4
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Ah bon, je pensais que ça aurait retourné le bon résultat.

    Pourquoi supérieur à 1 minute ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GROUP BY  DATE(champ_date), 
    TIME_TO_SEC(TIME(champ_date)) DIV 3600
    DIV est la division entière, donc DIV 3600 te fait des périodes d'une heure, mais tu peux descendre josqu'à la seconde.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut
    Merci Antoun, c'est exactement ce que je recherchais.
    Félicitations.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trier un listview sur champ date
    Par codial dans le forum IHM
    Réponses: 6
    Dernier message: 08/12/2009, 17h03
  2. Contrainte de vérification sur champ DATE
    Par Toshtuk dans le forum Oracle
    Réponses: 12
    Dernier message: 15/09/2006, 11h47
  3. Erreur sur champ date
    Par climz dans le forum Access
    Réponses: 5
    Dernier message: 11/09/2006, 17h56
  4. Requête sur champ DATE
    Par bud_gw dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/12/2005, 13h18
  5. Réponses: 9
    Dernier message: 17/01/2004, 10h51

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