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

PHP & Base de données Discussion :

Tri avec des données identiques [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut Tri avec des données identiques[résolu]
    Bonjour à tous.
    Je voudrais trier une table de données température qui est sous cette forme:

    Date Heure Temp ext
    08/10/2007 15:45:00 16.20
    08/10/2007 15:55:00 15.20
    08/10/2007 16:25:00 16.20
    09/10/2007 16:30:00 16.20
    09/10/2007 15:50:00 14.10
    09/10/2007 16:00:00 16.10
    09/10/2007 16:05:00 12.10
    10/10/2007 16:20:00 16.10
    10/10/2007 16:35:00 16.10
    10/10/2007 16:45:00 14.10
    11/10/2007 16:00:00 16.10
    11/10/2007 16:05:00 16.10
    11/10/2007 16:20:00 16.10
    12/10/2007 16:35:00 16.10
    12/10/2007 16:45:00 17.10
    etc.......

    Il peut y avoir des températures identiques à la même date ou aux mêmes heures un jour différent.

    Ce que je voudrais obtenir, c'est par exemple les plus hautes températures de chaque jour mais une seule fois par jour.
    Un truc du genre:
    08/10/2007 16.20 (à 16:25:00)
    09/10/2007 16.10 (à 16:00:00)

    Pouvoir extraire aussi les 10 jours avec les plus hautes températures sur une année avec date et heure.

    Merci de votre aide.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Je ne sais pas quelle est ta base de données mais essaye la commande GROUP BY. Si c'est Mysql tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT DATE, MAX(TEMPEXT) FROM TEMPERATURE
    GROUP BY DATE LIMIT 10

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    Merci batataw de m'aiguiller.

    On avance mais les heures ne sont pas correctes...

    Voici mon code:
    $result = mysql_query("SELECT date,MAX(temp_ext),horaire,temp_ext FROM data GROUP BY date LIMIT 10");
    J'obtiens ceci:
    Date Heure Temp ext
    09/10/2007 09:50:00 16.20
    10/10/2007 00:00:00 14.70
    11/10/2007 00:00:00 15.80
    12/10/2007 00:00:00 14.80
    13/10/2007 00:00:00 16.20

    Avec cette requete:
    $result = mysql_query("SELECT * FROM data ORDER BY temp_ext DESC LIMIT 6");
    Date Heure Temp ext
    09/10/2007 15:45:00 16.20
    09/10/2007 15:55:00 16.20
    09/10/2007 16:25:00 16.20
    09/10/2007 16:30:00 16.20
    13/10/2007 13:20:00 16.20
    13/10/2007 13:30:00 16.20


    Il peut y avoir des températures identiques à la même date ou aux mêmes heures un jour différent (ex 10 fois la même température dans le même jour...) et les heures ne sont pas bonnes.

    Merci d'avance

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Essaye de me filer un exemple concret de ce que tu veux en sortie, j'essayerai de t'aiguiller. Peux-tu me donner un tableau avec des explications. L'histoire des heures m'échappe.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    Merci beaucoup pour ton aide.

    j'ai une table du genre:
    Date Heure Temp ext
    08/10/2007 15:45:00 16.20
    08/10/2007 15:55:00 15.20
    08/10/2007 16:25:00 16.20
    09/10/2007 16:30:00 16.20
    09/10/2007 15:50:00 14.10
    09/10/2007 16:00:00 16.10
    09/10/2007 16:05:00 12.10
    10/10/2007 16:20:00 16.10
    10/10/2007 16:35:00 16.10
    10/10/2007 16:45:00 14.10
    11/10/2007 16:00:00 16.10
    11/10/2007 16:05:00 16.10
    11/10/2007 16:20:00 16.10
    12/10/2007 16:35:00 16.10
    12/10/2007 16:45:00 17.10
    etc.......
    ce sont des mesures de température toutes les 5 minutes toute l'année.

    Ce que je souhaite obtenir, c'est un tri de ces données pour obtenir par exemple les 10 plus hautes températures.
    Le prob est qu'il y a des températures identiques dans une même date à des heures différentes.
    On voit par ex dans le tableau ci-dessus que le 11/10/2007, il y a plusieurs fois la même T° à des heures différentes.

    Je voudrais extraire le max pour chaque jour avec l'heure (max) ex: le 09/10/2007 à 16:30:00 il faisait 16.20°c
    Et si je saisis bien la méthode, je pourrais ainsi extraire tout un tas de données (Max, Min,temps dans une plage de T° etc....).

    J'espère avoir été assez clair dans mes explications.

    Merci d'avance.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Ok, il faut que tu ajoutes un tri descendant sur ta colonne time pour avoir la
    derniere du jour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DATE, TIME, MAX(TEMPEXT) FROM TEMPERATURE
    GROUP BY DATE  
    ORDER BY TIME DESC
    LIMIT 10

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

Discussions similaires

  1. [XL-2007] Extraire des données d'un fichier Xml avec des balises identiques
    Par Danieldu54 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/03/2011, 20h45
  2. INNER JOIN avec des données de sélection
    Par EK1_ dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/05/2006, 18h40
  3. [VBA-A]Remplir une textbox avec des données de tables.
    Par cuicui08 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2006, 10h28
  4. [datagrid]lier avec des données
    Par Alex35 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 11/12/2005, 10h10
  5. Créer du xml avec des données Oracle
    Par Baumont dans le forum Oracle
    Réponses: 3
    Dernier message: 23/11/2005, 15h35

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