SQL 窗口函数 子查询
时间: 2024-01-13 09:03:44 浏览: 36
SQL窗口函数是一种用于对查询结果进行聚合、排序、极值、移动和切片等操作的函数。窗口函数有两种类型,一种是专用窗口函数,如rank、dense_rank、row_number等,用于对查询结果进行排序和编号。另一种是聚合函数,如sum、avg、count、max、min等,用于对查询结果进行聚合计算。\[1\]
子查询是一种在主查询中使用的查询,用于返回主查询所需的数据或对检索数据进行进一步的限制。子查询的结果可以作为主查询的数据来源或判断条件。常见的子查询类型包括WHERE子查询、HAVING子查询、FROM子查询、SELECT子查询和EXISTS子查询。子查询可以帮助我们在查询中进行更复杂的条件判断和数据筛选。\[2\]
窗口函数与数据分组功能相似,都可以对数据进行统计分析。但窗口函数与数据分组有一些区别。窗口函数对每个组返回多行结果,而数据分组只返回每个组的一行结果。窗口函数可以指定数据窗口的大小,并随着行的变化而变化,而数据分组是对所有数据进行统计。窗口函数的语法通常是在聚合函数后面使用over子句来指定分析函数工作的数据窗口,可以通过partition by子句指定用于分组的列名,通过order by子句指定用于排序的列名。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [SQL进阶,子查询与窗口函数](https://blog.csdn.net/junhongzhang/article/details/122974614)[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^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]