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 :

Création de requêtes


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    responsable d'équipe
    Inscrit en
    Avril 2014
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : responsable d'équipe
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 212
    Par défaut Création de requêtes
    bonjour
    j'ai une base de donnée sous jeedom, comme vous pouvez le voir, les données sont enregistrées toutes les minutes
    Nom : Capture d'écran 2024-04-01 100228.png
Affichages : 212
Taille : 72,9 Ko
    j'aimerais avec une requête sql, afin de récupérer les données avec une commande select en ayant la valeur max pour chaque jour, comme ceci
    Nom : Capture d'écran 2024-04-01 100956.png
Affichages : 193
Taille : 6,6 Ko

    j'ai essayé avec cette requêtes, mais ça ne renvoie rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `historyArch` WHERE `cmd_id` = 540 and datetime like '*00:00:*'

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 357
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 357
    Billets dans le blog
    17
    Par défaut
    Il faut éviter de nommer tes colonnes avec des mots-clefs SQL comme datetime => Ici je la renomme datetime_col.
    Les ` ne sont utiles que si l'identifiant contient un caractère spécial.

    j'aimerais avec une requête sql, afin de récupérer les données avec une commande select en ayant la valeur max pour chaque jour, comme ceci
    Donne le value maximum de chaque journée :

    select all date(datetime_col) as period, max(value) as value_max
    from historyArch
    where cmd_id = 540
    group by 1;

  3. #3
    Membre très actif
    Homme Profil pro
    responsable d'équipe
    Inscrit en
    Avril 2014
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : responsable d'équipe
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 212
    Par défaut
    excellent merci

    si je voulais rajouter une 2° colonne dans le rapport, avec un 2° cmd_id

    tu le ferais comment?

    j'ai modifié la requête comme ceci, mais çà ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select all date(datetime) as period, max(value) as value_max from historyArch where cmd_id = 540 or cmd_id = 529 group by 1;

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 357
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 357
    Billets dans le blog
    17
    Par défaut
    Si tu veux pour différentes commandes le value le plus élevé par jour, alors tu peux faire :

    select all cmd_id, date(datetime_col) as period, max(value) as value_max
    from historyArch
    where cmd_id in (529, 540)
    group by 1, 2
    order by 1 asc, 2 asc;
    Si ça ne correspond pas à ce que tu veux il faudra donner un échantillon significatif et le résultat attendu.

  5. #5
    Membre très actif
    Homme Profil pro
    responsable d'équipe
    Inscrit en
    Avril 2014
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : responsable d'équipe
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 212
    Par défaut
    presque
    mais en écrivant la réponse, je suis entrain de me dire que ce n'est pas possible?

    idéalement je souhaiterais ceci, et à partir d'une date (exemple: 2023-12-01)

    Nom : Capture d'écran 2024-04-01 132406.png
Affichages : 179
Taille : 17,8 Ko

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 357
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 357
    Billets dans le blog
    17
    Par défaut
    Tu ne dis pas ce qui ne va pas avec ma proposition.

    Dans ta capture, je vois un pivot, mais tu ne donnes pas d'échantillon de données.

    Comprend-moi, c'est difficile de tâtonner davantage, alors donne toutes les infos demandées je te prie.

    Attention, MySQL ne supporte pas les pivots, il faut les faire à la main, et ce n'est pas anodin.

  7. #7
    Membre très actif
    Homme Profil pro
    responsable d'équipe
    Inscrit en
    Avril 2014
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : responsable d'équipe
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 212
    Par défaut
    Si, mon besoin n a pas changé, je souhaite avoir les valeurs maxi pour chaque journée sur les 2 ID, à partir d une certaine date

  8. #8
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 357
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 357
    Billets dans le blog
    17
    Par défaut
    Ben non, ça n'a plus rien à voir avec la demande initiale. Alors je répète, donne un échantillon des données en entrée et le résultat attendu à partir de l'échantillon.

    Dans ton message de 01/04/2024 20h36 les données sortent de nul part.

  9. #9
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 680
    Billets dans le blog
    10
    Par défaut
    J'attire votre attention sur le fait que les identifiants attribués par le SGBD n'ont pas toujours des valeurs chronologiques, il arrive que l'identifiant de valeur 100 soit commité après l'identifiant de valeur 120 !
    Ce phénomène est causé par les parallélisme des requêtes d'une part et la distribution des identifiants par paquets d'autre part.
    Un identifiant attribué par le SGBD ne doit jamais être utilisé pour des besoins fonctionnels en particulier pour tenter d'en déduire une chronologie.

  10. #10
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 357
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 357
    Billets dans le blog
    17
    Par défaut
    Oui d'ailleurs des demandes comme "avoir l'ID max" sont souvent suspectes.

  11. #11
    Membre très actif
    Homme Profil pro
    responsable d'équipe
    Inscrit en
    Avril 2014
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : responsable d'équipe
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 212
    Par défaut
    bonjour
    voici ce que j'ai au départ
    Nom : Capture d'écran 2024-04-04 175347.png
Affichages : 155
Taille : 72,8 Ko

    pour info, la colonne "cmd-id" possède une trentaine de numéros différent (ce sont les objets connectés)

    et je souhaite avoir cela:
    la valeur max( colonne value) pour chaque jour à partir d'une certaine date pour les id 540 et 529

    Nom : Capture d'écran 2024-04-04 180100.png
Affichages : 152
Taille : 88,7 Ko

  12. #12
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 357
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 357
    Billets dans le blog
    17
    Par défaut
    Je peux te montrer comment faire pivoter 2 valeurs sur 2 colonnes distinctes entre 2 dates.

    Mais les captures ne sont pas pratiques, donne un échantillon de données qu'on pourrait utiliser.

Discussions similaires

  1. Requte Sql Avancée, question ... ? Estce possible ?
    Par plex dans le forum Administration
    Réponses: 8
    Dernier message: 14/12/2005, 16h13
  2. requte avec points de suspension
    Par Luther13 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/12/2005, 17h56
  3. [Requete] Intersection de requte
    Par KorHeve dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/04/2005, 18h45
  4. Requte
    Par abdallahi dans le forum Access
    Réponses: 6
    Dernier message: 04/01/2005, 16h06
  5. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 14h51

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