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 :

Différence de résultat entre MySQL 5.6 et versions précédentes [MySQL-5.6]


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2015
    Messages : 4
    Par défaut Différence de résultat entre MySQL 5.6 et versions précédentes
    Bonjour,
    Je vous joins ma requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select (@cnt := @cnt + 1) AS rowNumber, t.* from ( SELECT MPC.annee, MPC.division, MPC.groupe, sous_groupe, equipe, sum(MPC.point) as points, sum(gaplus) as pour, sum(gamoins) as contre, (sum(gaplus) - sum(gamoins)) as ga from MP_pour_classement_new as MPC 
    	WHERE MPC.tour = 1 GROUP BY MPC.annee,equipe,division,groupe ORDER BY points desc, ga desc ) t CROSS JOIN (SELECT @cnt := 0) AS dummy where t.annee=2015 and division=1 and groupe='A' and sous_groupe = '1'
    Pour les versions mysql 5.0, 5.1, 5.5, le résultat correspond à ce que j'attends, par contre pour mysql 5.6 la fonction "ORDER by " fait n'importe quoi, le champ "GA" devrait apparaître en décroissant.
    l*Les mêmes données donnent des résultats différents.
    Je mets en lien le résultat
    en 5.0 : http://seniors.ladomangere.free.fr/m...ich_ts_classt1
    en 5.6 : http://www.sgpdll.com/matchsplay/ind...ich_ts_classt1

    cordialement
    Michel Pierre

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    C'est normal, votre ORDER BY est dans une sous requête, ce qui n'a aucun sens.

    Mettez-le dans la requete principale.

  3. #3
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2015
    Messages : 4
    Par défaut
    Pas possible comme c'est construit, mais la question demeure :
    pourquoi cette requête fonctionne en 5.0, 5.1, et 5.5?

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par kerkeket Voir le message
    Pas possible comme c'est construit,
    Pourquoi ?

    Citation Envoyé par kerkeket Voir le message
    mais la question demeure :
    pourquoi cette requete fonctionne en 5.0, 5.1, et 5.5?
    Tout simplement parce que MySQL plutôt que de refuser votre requête comme il devrait le faire, l'accepte, en "l’interprétant".
    Et visiblement, son interprétation change entre les différentes versions.

    Vous risquez d'avoir le même genre de surprise avec votre GROUP BY qui semble mal formé. MySQL vous ressort par exemple pour la colonne sous_groupe la données qui l'arrange. Probablement la première qui lui passe sous la main. Et là vous n'aurez même pas besoin de changer de version pour avoir des résultats différents entre différentes éxécutions...

  5. #5
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2015
    Messages : 4
    Par défaut
    OK
    merci je révise

  6. #6
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2015
    Messages : 4
    Par défaut
    Bien joué, lorsque je passe dans la requête en principale, elle fonctionne correctement en 5.6, je vais me débrouiller autrement pour afficher la 1ère colonne résultat 1,2 ... de mon appli
    Merci
    MP

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

Discussions similaires

  1. [AC-2000] Différence de résultat entre acpreview et Print d'un état
    Par riri2938 dans le forum IHM
    Réponses: 0
    Dernier message: 20/02/2010, 15h50
  2. [Débutant] Différences de résultats entre MATLAB 6.5 et 7.8
    Par Caps59 dans le forum MATLAB
    Réponses: 21
    Dernier message: 16/03/2009, 15h04
  3. Différence de résultat entre MATLAB et Scilab
    Par ABN84 dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/05/2008, 22h53
  4. différences de syntaxe entre mysql 4 et 5
    Par bigsister dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/10/2007, 20h18
  5. Différence de résultats entre requêtes SQL et Criteria
    Par titoudemtl dans le forum Hibernate
    Réponses: 3
    Dernier message: 07/08/2006, 09h30

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