考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

以下哪个数据库可以使用row number() over (partition by)函数( )
A. MySql
B. SQL Server
C. Oracle
D. SAS
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

Oracle包含了非常多的高级函数,row number() over (partition by) 就是其中之一。这个函数在Hive和Impala上也可以使用。

正确答案是 B: SQL Server 和 C: Oracle。

专业分析:

1. **MySQL**:
- 在MySQL 8.0版本之前,不支持`ROW_NUMBER()`和`OVER (PARTITION BY)`这样的窗口函数。
- 从MySQL 8.0开始,支持`ROW_NUMBER()`和其他窗口函数,因此在最新版本中是可以使用的。但如果题目没有特别指明版本,传统上MySQL被认为不支持这些功能。

2. **SQL Server**:
- SQL Server自2005版本开始就支持窗口函数,包括`ROW_NUMBER()`和`OVER (PARTITION BY)`。因此,SQL Server是可以使用这些功能的。

3. **Oracle**:
- Oracle数据库很早就支持窗口函数,`ROW_NUMBER()`和`OVER (PARTITION BY)`在Oracle中是完全支持的,并且被广泛使用。

4. **SAS**:
- SAS本身不是一个传统意义上的数据库管理系统,而是一套用于统计分析的软件。虽然SAS可以连接到数据库并执行SQL查询,但其原生的SQL实现(PROC SQL)不支持窗口函数,如`ROW_NUMBER()`和`OVER (PARTITION BY)`。

总结:如果题目没有特别指明MySQL的版本,传统上认为MySQL不支持这些窗口函数,因此SQL Server和Oracle是明确支持`ROW_NUMBER() OVER (PARTITION BY)`的数据库。