首页  >  问答  >  正文

SQL 查询中第 1 行“OVER (ORDER BY r.Id)) AS Grown FROM results AS r ORDER BY r.Id LIMIT 0.25”附近存在语法错误

我有一个SQL命令,它使用lag来列出表中的数据,并与之前的值进行计算,以计算增加的​​百分比。在我的本地主机上它可以工作,但在我的主机上它不断给出此错误,我使用 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;

这是我使用的命令

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 天前265

全部回复(1)我来回复

  • P粉395056196

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

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

    回复
    0
  • 取消回复