Sql分窗取最小日期
时间: 2024-02-20 13:02:36 浏览: 81
可以使用窗口函数来实现。具体方法是,使用ROW_NUMBER()函数给每行数据编号,然后根据需要的分组条件进行分组,再使用MIN()函数来取得每个分组中的最小日期。
例如,假设有一个名为table_name的表,其中包含三列:id、date和group_id。我们想要按照group_id分组,并找到每个分组中最早的日期。可以使用以下SQL查询语句:
```
SELECT id, date, group_id
FROM (
SELECT id, date, group_id, ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY date ASC) AS rn
FROM table_name
) t
WHERE rn = 1;
```
这个查询语句使用ROW_NUMBER()函数将每行数据进行编号,并根据group_id分组。然后,使用MIN()函数来查找每个分组中最早的日期。最后,使用WHERE子句将只保留行号为1的数据,即每个分组中最早的日期。
阅读全文