滞后函数不接受使用postgres SQL的浮点值

时间:2018-01-29 14:03:16

标签: sql postgresql function window

我正在尝试从PostgreSQL中的表的前一行中选择双精度(浮点)值,但只有当所选列是整数时,lag()函数才有效:

此代码给出错误:

  

“错误:函数滞后(双精度,整数,整数)不存在”

select id_client, date, value, lag(value, 1, 0) over (order by date)

此代码工作正常但我丢失了小数:

select id_client, date, value, lag(cast(value as int), 1, 0) over (order by date)

2 个答案:

答案 0 :(得分:1)

滞后函数的默认值必须与主值的类型相同:

lag(value, 1, 0::double precision)然后就可以了

答案 1 :(得分:0)

试试这样:

  

选择id_client,date,value,lag(value)over(按日期排序)