gpt4 book ai didi

mysql - 为什么我在 LAG() 函数中遇到语法错误?

转载 作者:行者123 更新时间:2023-11-29 15:39:44 25 4
gpt4 key购买 nike

我做了很多研究,但找不到为什么这不起作用,你能帮忙吗?

我有一个数据库,其中有一个名为“tl_content”的表,其中包含名为“id”、“url”和“title”的列。我试图为每一行获取前一行的 url。

看来我应该用函数 LAG() 来得到这个。

这是我尝试过的代码:

SELECT url, title, 
LAG(url) OVER (ORDER BY id)
FROM tl_content

但我收到以下错误消息:“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在第 3 行的“(ORDER BY id) FROM tl_content”附近使用的正确语法”。

我看不出哪里出了问题。

预先感谢您的帮助。

斯蒂芬妮。

最佳答案

我的猜测是您的 MySQL 版本不支持 LAG,可能是因为它是 8+ 之前的版本。您也许可以使用相关子查询来执行与 LAG 相同的操作:

SELECT
url,
title,
(SELECT url FROM tl_content t2 WHERE t2.id < t1.id
ORDER BY t2.id DESC LIMIT 1) url_lag
FROM tl_content t1;

假设 id 列是唯一的(即不存在任何重复的 id 值),此方法应该可以正常工作。如果您长期需要 LAG 等分析功能,请考虑升级到 MySQL 8+。

关于mysql - 为什么我在 LAG() 函数中遇到语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57808824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com