In der SQL-Abfrage in der Nähe von Zeile 1 liegt ein Syntaxfehler vor: „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
298

Ich habe einen SQL-Befehl, der Verzögerungen verwendet, um Daten aus einer Tabelle aufzulisten und mit dem vorherigen Wert zu rechnen, um die prozentuale Erhöhung zu berechnen. Auf meinem lokalen Host funktioniert es, aber auf meinem Host wird immer wieder dieser Fehler angezeigt und ich verwende 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;

Dies ist der Befehl, den ich verwende

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

Antworte allen(1)
P粉395056196

您有“ OVER (ORDER BY t.Id))”,但没有名为 t 的表/别名

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!