Maison  >  Questions et réponses  >  le corps du texte

Il y a une erreur de syntaxe dans la requête SQL près de la ligne 1 "OVER (ORDER BY r.Id)) AS Grown FROM results AS r ORDER BY r.Id LIMIT 0.25"

J'ai une commande SQL qui utilise le décalage pour répertorier les données d'une table et calculer avec la valeur précédente pour calculer le pourcentage d'augmentation. Sur mon hôte local, cela fonctionne mais sur mon hôte, il continue de donner cette erreur et j'utilise MySQL.

CREATE TABLE `results` 
(
    `id` int(11) NOT NULL,
    `price` int(11) NOT NULL,
    `Date` date DEFAULT NULL,
    `grown` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

C'est la commande que j'utilise

SELECT 
    *, - 100.0 * ( 1-price/ LAG(price) OVER (ORDER BY results.id)) AS Grown 
FROM 
    results AS r 
ORDER BY 
    r.id;

P粉803527801P粉803527801182 Il y a quelques jours266

répondre à tous(1)je répondrai

  • P粉395056196

    P粉3950561962024-04-02 00:49:45

    Vous avez "OVER (ORDER BY t.Id))" mais aucune table/alias nommé t

    répondre
    0
  • Annulerrépondre