gpt4 book ai didi

mysql - SQL LAG 和 Over 函数返回错误 #1064

转载 作者:行者123 更新时间:2023-11-29 15:42:56 24 4
gpt4 key购买 nike

我正在尝试使用SQL LAG函数来比较去年和今年的人口,然后计算增长。我正在使用的代码不断抛出错误代码#1064。我在 MAC 上使用 XAMPP 服务器。

我正在使用的代码不断抛出错误代码#1064。我在 MAC 上使用 XAMPP 服务器。我有人口值字段的城市代码、句号和数字。该表称为人口。

SELECT
city_code,
period,
numb
,LAG(numb,1,0)
OVER(ORDER BY period)
FROM population

我希望输出显示新列,其中包含前几年当前年份的人口计算结果以及后期的增长情况。

最佳答案

请尝试此查询。这是 row_number() 的替换,仅在 mysql 版本 8.0 中支持。对于mysql 5.7以下,使用变量生成row_num()

set @pos = 0;
set @pos2 = 0;

select t1.*, ifnull(t2.numb, 0) from (
select @pos:=@pos+1 as pos, city_code, period, numb from population order by period asc) t1
left join
(select @pos2:=@pos2+1 as pos, numb from population order by period asc) t2 on t2.pos = t1.pos - 1

关于mysql - SQL LAG 和 Over 函数返回错误 #1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57403858/

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