我有一个数据表 里面有id 有day_of_year a代表第几天 termperature温度 编写个SOL查询,来查找与前一天程比 温度更的所有日期的d, 返回结果按d正序排序,
时间: 2024-11-09 20:20:18 浏览: 15
为了编写一个SQL查询来满足您的需求,假设您的数据表名为`weather_data`,并且它有`id`, `day_of_year`, 和 `temperature`这三个字段,我们可以使用窗口函数`LAG()`来获取前一天的数据。以下是相应的查询:
```sql
WITH daily_temps AS (
SELECT
id,
day_of_year,
temperature,
LAG(temperature) OVER (ORDER BY day_of_year) AS prev_temperature
FROM
weather_data
)
SELECT
d.id,
d.day_of_year
FROM
daily_temps d
WHERE
d.temperature > d.prev_temperature
ORDER BY
d.day_of_year ASC;
```
这段查询首先创建了一个名为`daily_temps`的临时表,其中包含了每一天的温度以及前一天的温度。然后,从这个临时表中选择出那些当前日期的温度大于前一天温度的记录,并按`day_of_year`升序排序。
阅读全文