在数据库“天气”上执行 SQL 查询时出错:“(”附近:语法错误
Posted
技术标签:
【中文标题】在数据库“天气”上执行 SQL 查询时出错:“(”附近:语法错误【英文标题】:Error while executing SQL query on database 'WEATHER': near "(": syntax error 【发布时间】:2020-11-23 16:52:28 【问题描述】:我在 sql 上有这个任务,我必须根据表中行之间的差异从我的数据库中的表中选择一些特定的行,但是在数据库“天气”上执行 SQL 查询时我不断收到错误:靠近“( “:语法错误..请问我做错了什么,任何帮助将不胜感激。
SELECT
*
,LAG(TempHighF,1,0) OVER(ORDER BY Date) AS previousTempHigh
FROM
weatherdata
WHERE
TempHighF - previousTempHigh >= 10;
【问题讨论】:
我有版本 3.30.0 @forpas 检查我的答案。 【参考方案1】:您不能使用列previousTempHigh
,它实际上是WHERE
子句中的别名窗口函数。
使用子查询:
SELECT *
FROM (
SELECT *, LAG(TempHighF,1,0) OVER(ORDER BY Date) AS previousTempHigh
FROM weatherdata
)
WHERE TempHighF - previousTempHigh >= 10;
查看简化的demo。
【讨论】:
以上是关于在数据库“天气”上执行 SQL 查询时出错:“(”附近:语法错误的主要内容,如果未能解决你的问题,请参考以下文章