日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

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

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > PostgreSQL數據庫中窗口函數的語法與使用

PostgreSQL數據庫中窗口函數的語法與使用

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

什么是窗口函數?

一個窗口函數在一系列與當前行有某種關聯的表行上執行一種計算。這與一個聚集函數所完成的計算有可比之處。但是窗口函數并不會使多行被聚集成一個單獨的輸出行,這與通常的非窗口聚集函數不同。取而代之,行保留它們獨立的標識。在這些現象背后,窗口函數可以訪問的不僅僅是查詢結果的當前行。

  • 可以訪問與當前記錄相關的多行記錄;
  • 不會使多行聚集成一行, 與聚集函數的區別;

窗口函數語法

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

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

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

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

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

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

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

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

窗口函數示例

員工工資 (emp_salary) 表結構如下:

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

標簽[db:關鍵字]

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 美女视频黄视大全视频免费网址 | 日本黄色大片在线播放视频免费观看 | 久久综合香蕉久久久久久久 | 亚洲一级在线 | 三级黄色片在线免费观看 | 免费一级做a爰片性色毛片 免费一极毛片 | 九九精品99久久久香蕉 | 日韩一级欧美一级在线观看 | 91精品国产一区二区三区四区 | 午夜手机看片 | 色爽爽爽爽爽爽爽爽 | 欧美一级看片免费观看视频在线 | 国产欧美精品午夜在线播放 | 日韩欧美毛片免费看播放 | 日本精品一区二区三区在线视频 | 欧美一级欧美一级毛片 | 综合欧美日韩一区二区三区 | 亚洲男女免费视频 | 国产成人亚洲精品久久 | 亚洲成人免费视频 | 国产好片无限资源 | 国产高清精品一级毛片 | 精品国产91久久久久久久a | 国产三级观看 | 97精品国产91久久久久久久 | 在线观看国产欧美 | 91精品国产乱码久久久久久 | 9久re在线观看视频精品 | 国产精品久久久精品视频 | 美国免费三片在线观看 | 国产精品精品 | 国产精品线在线精品 | 国产伦精品一区二区三区网站 | 久久在现 | 久久精品中文字幕不卡一二区 | 日本aaaa片毛片免费观看 | 俄罗斯小屁孩cao大人免费 | 亚洲欧洲一区二区三区久久 | 在线中文字幕日韩 | 亚洲精品久久9热 | 国产高清在线看免费视频观 |