suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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“

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粉803527801P粉803527801262 Tage vor400

Antworte allen(1)Ich werde antworten

  • P粉395056196

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

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

    Antwort
    0
  • StornierenAntwort