暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

窗口函数的基本语法

二两烧麦 2025-03-27
6

窗口函数的基本语法为:

<窗口函数> OVER (
[PARTITION BY <列名>]
[ORDER BY <列名> [ASC|DESC]]
)
PARTITION BY:用于将数据按照指定的列进行分组。
ORDER BY:用于在分组内按照指定的列进行排序。
<窗口函数>:如 RANK()、DENSE_RANK()、ROW_NUMBER() 等。

SELECT shirt _name, shirt_type, shirt _price,RANK() OVER (PARTITION BY shirt_type) AS rankingFROM SHIRTABLE
RANK() 窗口函数缺少 ORDER BY 子句,无法按照 shirt_price 进行排序,所以该选项错误。

SELECT shirt _name, shirt_type, shirt _price,RANK (PARTITION BY shirt _type ORDER BY shirt _price) AS rankingFROM SHIRTABLE
RANK 函数使用错误,RANK 作为窗口函数,必须搭配 OVER 关键字使用,所以该选项错误。

SELECT shirt_name, shirt_type, shirt_price,RANK() OVER (PARTITION BY shirt _type ORDER BY shirt_price) AS rankingFROM SHIRTABLE

使用了正确的窗口函数语法,RANK() 搭配 OVER 关键字,通过 PARTITION BY shirt_type 按衬衫种类分组,再使用 ORDER BY shirt_price 按销售单价从低到高排序,所以该选项正确。

SELECT shirt _name, shirt_type, shirt _price,PARTITION BY shirt _type ORDER BY shirt _price AS rankingFROM SHIRTABLE

语法错误,PARTITION BY 和 ORDER BY 不能直接用于 SELECT 语句中,它们应该用于窗口函数的 OVER 子句中,所以该选项错误。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论