mysql窗口函数 range 日期范围
时间: 2023-10-26 18:06:15 浏览: 237
MySQL中的窗口函数可以使用range来指定日期范围。具体语法如下:
```
<窗口函数> OVER (
PARTITION BY <字段名>
ORDER BY <字段名>
RANGE BETWEEN <日期范围> PRECEDING AND <日期范围> FOLLOWING
)
```
其中,`<日期范围>`可以是以下几种形式之一:
- `UNBOUNDED PRECEDING`:表示从窗口的开始到当前行之间的所有行。
- `<n> PRECEDING`:表示从当前行向前数第n行。
- `CURRENT ROW`:表示当前行。
- `<n> FOLLOWING`:表示从当前行向后数第n行。
- `UNBOUNDED FOLLOWING`:表示从当前行到窗口的结束之间的所有行。
例如,如果要计算某个字段在过去7天内的总和,可以使用以下语句:
```
SUM(<字段名>) OVER (
ORDER BY <日期字段>
RANGE BETWEEN INTERVAL 7 DAY PRECEDING AND CURRENT ROW
)
```
这将计算从当前行向前数7天内的字段总和。
#### 引用[.reference_title]
- *1* [【数据库】MySQL知识点总结(二):窗口函数](https://blog.csdn.net/be_racle/article/details/125181320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [MYSQL窗口函数(Rows & Range)——滑动窗口函数用法](https://blog.csdn.net/WHYbeHERE/article/details/127896098)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [MySQL 窗口函数](https://blog.csdn.net/qq_45912025/article/details/125179004)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文