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 :

Moyenne de degré


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Points : 63
    Points
    63
    Par défaut Moyenne de degré
    Bonjour,

    Voila, dans un champ (de type double) j’ai des degré qui indique des directions (sa viens d’une girouette).
    Les valeurs vont donc de 0 à 359,99

    Je voudrai avoir une moyenne des valeurs.

    Mais attention, pas une moyen « mathématique »
    Je vais donner un exemple :
    Si je considère 2 valeurs : 358 et 2
    La moyenne n’est pas (358+2)/2=180
    Mais la bonne réponse et 0

    Autre exemple : entre 350 et 20 la moyenne est 5

    Il existe-t-il une commande pour avoir cette moyen « directionnel », oublient une personne s’ai t’elle comment la calculer ??

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    cela correspond donc à une moyenne, pris au modulo 180?

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Cybher Voir le message
    salut,

    cela correspond donc à une moyenne, pris au modulo 180?
    Je ne sais pas, je vais avouer que j’ai aucune idée de comment calculé cette moyen de manière « informatique ».
    Je sais la trouvée de manière mental quand il à 2 ou 3 valeur, mais aucune idée de comment retranscrire sa.
    Et je dois travailler sur beaucoup plus que 2 valeurs.

  4. #4
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Points : 63
    Points
    63
    Par défaut
    Je vais juste rajouter un autre exemple : 20 et 40 , la moyenne est 30

  5. #5
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    la plus grande valeur possible est donc 180?

    si oui tu peux essayer quelque chose dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select avg(colonne) %180 from tatable

  6. #6
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Citation Envoyé par Cybher Voir le message
    cela correspond donc à une moyenne, pris au modulo 180?
    Je ne crois pas car si l'on étend la logique à trois mesures, p.ex 358, 358 et 2 en faisant MOD(358+358+2,180) on obtient 59.33, or, si j'ai bien compris, il faudrait obtenir 359.33
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  7. #7
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Points : 63
    Points
    63
    Par défaut
    oui, s'est pas un modulo 180.

    un dernier exemple : 270 et 0 donneron 315

  8. #8
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    En fait ce n'est pas une moyenne que l'on cherche mais la direction résultante.
    C'est à dire le reste de la division de la somme des angles par 360°, me semble-t-il.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  9. #9
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    Citation Envoyé par fpascal Voir le message
    un dernier exemple : 270 et 0 donneron 315
    oula je ne comprends plus la.
    Peux tu expliquer comment tu calcules le résultat?
    merci

  10. #10
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Ce n'est même pas ça non plus, puisque ça ne répond déjà pas à 270 et 0, même en remplaçant 0 par 360.
    Ah, ah, pas si simple c't'affaire.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  11. #11
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Cybher Voir le message
    oula je ne comprends plus la.
    Peux tu expliquer comment tu calcules le résultat?
    merci
    Je vais essayer, avec que 2 valeur car après sa se complique et avec les point cardinaux pour avoir un exemple :
    Vous imaginer une boussole, un instant elle indique le Nord (0°), puis elle indique l’Ouest (270°). La valeur que je recherche (que j’appelé moyen faute d'autre terme conus) se trouve au milieu des 2 valeurs : Nord-Ouest (315°)

  12. #12
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    et comment tu fais avec 3 valeurs?

    dans ton exemple, pourquoi ne pas dire que la valeur moyenne est le sud-est (135) ?
    comment tu définis le sens ?

  13. #13
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Je vais réfléchir à partir de la trigo (sinus, cosinus, tangente et cotangente).
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  14. #14
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    A tout hasard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MOD(AVG(IF(Angle < 180,Angle+360,Angle)),360) FROM la_table
    ça donne quoi :
    (350+(20+360))/2=365 -360 = 5
    ((20+360)+(40+360))/2=390 - 360 =30
    etc
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  15. #15
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Points : 63
    Points
    63
    Par défaut
    Je comprend peut étre pas toute ta forumle mais avec set valleur si :

    (300+(30+360))/2=345 -360 = -15

    pas super du négatif

  16. #16
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    peux tu répondre à mes questions du post 12?

    Merci

  17. #17
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Cybher Voir le message
    salut,

    et comment tu fais avec 3 valeurs?
    au pif au métre... si j'ai 0, 270 et 180 : sa doit faire 270 (je pense

    Citation Envoyé par Cybher Voir le message
    dans ton exemple, pourquoi ne pas dire que la valeur moyenne est le sud-est (135) ?
    comment tu définis le sens ?
    Je la mes du coter ou l'ecart et le plus cour.

    La solution de Maljuna Kris et bonne dans la plus part des cas, et avec un nombre x de donnée.

    Mais dans sertain cas elle donne une valeur négative (en tous cas sur le papier). Mais j'ai peut étre pas compris toute les suptilité de sa formule.

  18. #18
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Maljuna Kris Voir le message
    A tout hasard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MOD(AVG(IF(Angle < 180,Angle+360,Angle)),360) FROM la_table
    ça donne quoi :
    (350+(20+360))/2=365 -360 = 5
    ((20+360)+(40+360))/2=390 - 360 =30
    etc
    pour mois m'aider à comprendre : que fait MOD ??
    quesqui produit le -360

    car en faite dans se cas si : (300+(30+360))/2=345 -360 = -15, s'est le -360 qui ne devrait pas étre la, car 345 et la bonne réponse.

  19. #19
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    MOD doit correspondre à modulo, c'est à dire le reste de la division de ton nombre par 360

  20. #20
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    MOD(N,M), N % M, N MOD M

    Modulo (équivalent de l'opérateur % dans le langage C). Retourne le reste de la division de N par M.

    mysql> SELECT MOD(234, 10);
    -> 4
    mysql> SELECT 253 % 7;
    -> 1
    mysql> SELECT MOD(29,9);
    -> 2
    MOD(345,360)=>345
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Requete moyennes mensuelles
    Par bdkiller dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 03/09/2004, 10h43
  2. probleme de moyenne
    Par prez dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/08/2004, 17h38
  3. [SGBD] Pour moyenne base avec SQL ?
    Par PyRoFlo dans le forum Bases de données
    Réponses: 10
    Dernier message: 13/03/2004, 18h54
  4. résolution de equation 2nd degré
    Par isidore dans le forum C
    Réponses: 30
    Dernier message: 29/02/2004, 10h46
  5. Réponses: 3
    Dernier message: 18/05/2003, 00h16

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