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"
P粉803527801
P粉803527801 2024-04-01 10:36:24
0
1
414

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粉803527801
P粉803527801

répondre à tous(1)
P粉395056196

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal