下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 技術(shù)開發(fā) > 數(shù)據(jù)庫 > PostgreSQL數(shù)據(jù)庫中窗口函數(shù)的語法與使用

PostgreSQL數(shù)據(jù)庫中窗口函數(shù)的語法與使用

時間:2024-02-09 10:40作者:下載吧人氣:33

什么是窗口函數(shù)?

一個窗口函數(shù)在一系列與當(dāng)前行有某種關(guān)聯(lián)的表行上執(zhí)行一種計算。這與一個聚集函數(shù)所完成的計算有可比之處。但是窗口函數(shù)并不會使多行被聚集成一個單獨(dú)的輸出行,這與通常的非窗口聚集函數(shù)不同。取而代之,行保留它們獨(dú)立的標(biāo)識。在這些現(xiàn)象背后,窗口函數(shù)可以訪問的不僅僅是查詢結(jié)果的當(dāng)前行。

  • 可以訪問與當(dāng)前記錄相關(guān)的多行記錄;
  • 不會使多行聚集成一行, 與聚集函數(shù)的區(qū)別;

窗口函數(shù)語法

窗口函數(shù)跟隨一個 OVER 子句, OVER 子句決定究竟查詢中的哪些行被分離出來由窗口函數(shù)處理。

可以包含分區(qū) (PARTITION BY) 和排序 (ORDER BY) 指令, 這二者都是可選的。

window_func() OVER([PARTITION BY field] [ORDER BY field])

如果沒有指定 PARTITION BY 和 ORDER BY 指令, 則等同于聚合函數(shù), 對全部數(shù)據(jù)進(jìn)行計算。

PARTITION BY 子句將查詢的行分組成為分區(qū), 窗口函數(shù)會獨(dú)立地處理它們。PARTITION BY 工作起來類似于一個查詢級別的 GROUP BY 子句, 不過它的表達(dá)式總是只是表達(dá)式并且不能是輸出列的名稱或編號。 如果沒有 PARTITION BY, 該查詢產(chǎn)生的所有行被當(dāng)作一個單一分區(qū)來處理。

ORDER BY 子句決定被窗口函數(shù)處理的一個分區(qū)中的行的順序。 它工作起來類似于一個查詢級別的 ORDER BY 子句, 但是同樣不能使用輸出列的名稱或編號。 如果沒有 ORDER BY, 行將被以未指定的順序被處理。

PostgreSQL 中的聚合函數(shù)也可以作為窗口函數(shù)來使用

除了這些內(nèi)置的窗口函數(shù)外,任何內(nèi)建的或用戶定義的通用或統(tǒng)計聚集(也就是有序集或假想集聚集除外)都可以作為窗口函數(shù)。僅當(dāng)調(diào)用跟著OVER子句時,聚集函數(shù)才會作為窗口函數(shù);否則它們作為非窗口的聚集并為剩余的集合返回單行。

窗口函數(shù)示例

員工工資 (emp_salary) 表結(jié)構(gòu)如下:

SELECT emp_no, dep_name, salary
FROM public.emp_salary
order by dep_name, emp_no;

標(biāo)簽[db:關(guān)鍵字]

相關(guān)下載

查看所有評論+

網(wǎng)友評論

網(wǎng)友
您的評論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 国产精品资源一区二区| 亚洲精品无码不卡| 夭天曰天天躁天天摸在线观看 | 老熟女高潮一区二区三区| 中文字幕日韩一区二区不卡| 啦啦啦中文在线视频6| 好硬好湿好爽再深一点h视频| 欧美精品福利视频| 国产精品你懂得| 中文字幕在线看| 亚洲欧美强伦一区二区另类| 国产成人无码综合亚洲日韩| 成年人在线播放| 欧美日韩国产另类一区二区三区| 国产卡一卡二卡3卡4卡无卡视频| 中文字幕在线第二页| 亚洲欧美另类自拍| 国产**毛片一级视频| 国产裸体美女永久免费无遮挡 | 都流了这么多还嘴硬| GOGOGO免费观看国语| 亚欧洲精品bb| 你是我的城池营垒免费观看完整版| 国产日韩av在线播放| 大战bbw丰满肥女tub| 日本在线www| 欧美边吃奶边爱边做视频| 色视频在线观看免费| 两个人看的视频www在线高清| 三级黄在线播放| 久久精品国产亚洲AV麻豆不卡 | 亚洲国产精品一区二区三区久久 | 亚洲精品乱码久久久久久| 国产一级爱做c片免费昨晚你| 国产精品亚洲综合天堂夜夜| 少妇大战黑吊在线观看| 日本一道高清一区二区三区| 欧美69xxxxx另类| 欧美黑人乱大交| 狠狠躁夜夜躁人人爽天天不| 色偷偷噜噜噜亚洲男人|