SAPHANA学习(16):SQL Function(P)
/*
107. PERCENT_RANK
PERCENT_RANK() <window_specification>
*/
SELECT "CLASS", "VAL", "OFFSET", PERCENT_RANK() OVER (PARTITION BY "CLASS" ORDER BY "VAL" ASC) AS PER_RANK FROM "TEST_RANK" ORDER BY "VAL" DESC;
/*
108. PERCENTILE_CONT
PERCENTILE_CONT( <constant_literal> )
WITHIN GROUP ( ORDER BY <expression> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] ) <window_specification>
NR = the number of rows in the window partition R*P = the specified percentile value**
INDEX1 = floor( 1 + ( P * (NR - 1) ) )
INDEX2 = ceil( 1 + ( P * (NR - 1) ) )
COEF1 = INDEX2 - ( 1 + ( P * (NR - 1) ) )
COEF2 = INDEX1 - ( 1 + ( P * (NR - 1) ) )
if INDEX1 == INDEX2
then returns (value at INDEX1)
else returns ( ( value at INDEX1 ) * COEF1 + ( value at INDEX2 ) * COEF2 )
PERCENTILE_DISC( <constant_literal> )
WITHIN GROUP ( ORDER BY <expression> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] ) <window_specification>
*/
SELECT class, val, PERCENTILE_CONT(0.125) WITHIN GROUP (ORDER BY val) OVER (PARTITION BY class) AS pc1, PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY val) OVER (PARTITION BY class) AS pc2, PERCENTILE_CONT(0.875) WITHIN GROUP (ORDER BY val) OVER (PARTITION BY class) AS pc3 FROM TEST_RANK; SELECT class, val, PERCENTILE_DISC(0.125) WITHIN GROUP (ORDER BY val) OVER (PARTITION BY class) AS pd1, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY val) OVER (PARTITION BY class) AS pd2, PERCENTILE_DISC(0.875) WITHIN GROUP (ORDER BY val) OVER (PARTITION BY class) AS pd3 FROM TEST_RANK;
/*
109. PLAINTEXT
PLAINTEXT(<column_name>)
returns the plain text representation of a value in a column that has a full text index.
*/
CREATE COLUMN TABLE TEST_PLAINTEXT (CONTENT BLOB); CREATE FULLTEXT INDEX I1 ON TEST_PLAINTEXT(CONTENT); INSERT INTO TEST_PLAINTEXT VALUES ('<somePDF>'); SELECT PLAINTEXT(CONTENT),CONTENT FROM TEST_PLAINTEXT;
/*
110. POWER
POWER(<base>, <exponent>)
计算<base>的<exponent>次方
*/
SELECT POWER (2, 10) FROM DUMMY; SELECT POWER (3, 3) FROM DUMMY;
本文来自博客园,作者:渔歌晚唱,转载请注明原文链接:https://www.cnblogs.com/tangToms/p/13892843.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本