Partage
  • Partager sur Facebook
  • Partager sur Twitter

ROW_NUMBER() ne fonctionne pas

Fonction ROW_NUMBER() ne fonctionne pas

Sujet résolu
    25 mars 2019 à 17:50:38

    Bonjour,

    J'ai le code suivant :

    public function rank() {
                $p['users'] = R::getAll('SELECT * FROM users ORDER BY pts DESC LIMIT 1000000000000 OFFSET 3');
                $p['giverank'] = R::getCell('SELECT ROW_NUMBER() OVER(ORDER BY pts) AS position FROM users ORDER BY pts');
                $this->render(VIEWS . 'rank.tpl', $p);
            }

    qui me renvoie l'erreur suivante : Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(ORDER BY pts) AS position FROM users ORDER BY pts' at line 1

    Je ne comprends pas pourquoi il bloque, j'ai vérifié la syntaxe et c'est bien OVER qu'il y a avant le (ORDER BY pts)...

    Mon but est de trouver le rang de l'utilisateur dans la liste de tous les utilisateurs triée par points.

    J'ai pourtant été voir la doc sous http://www.mysqltutorial.org/mysql-window-functions/mysql-row_number-function/, mais rien

    Merci de votre aide ;)

    -
    Edité par LoulouGrange 25 mars 2019 à 17:51:12

    • Partager sur Facebook
    • Partager sur Twitter

    Je suis là ;)

      25 mars 2019 à 18:19:17

      bonjour,

      la clause OVER n'est compatible qu'avec mysql 8, tu dois certainement utiliser une version de mysql < 8.

      -
      Edité par armel.mc 25 mars 2019 à 18:19:54

      • Partager sur Facebook
      • Partager sur Twitter
        25 mars 2019 à 18:47:24

        Bonjour Armel,

        En effet, je suis sous MAMP 5.7...

        Merci ;)

        • Partager sur Facebook
        • Partager sur Twitter

        Je suis là ;)

        ROW_NUMBER() ne fonctionne pas

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown