SQL 窗口函數 是 SQL 中的一種高級函數。在這篇博文中,您將了解什麼是 SQL 窗口函數,以及如何使用或工作它們。

什麼是 SQL 窗口函數?

SQL 窗口函數是類似於聚合函數的計算函數,但與“group by”等普通聚合函數不同,它可以訪問單獨的行,甚至可以將它們的某些屬性添加到結果集中。

我們將在以下子標題下討論該主題:

什麼是 SQL 窗口函數?SQL 窗口函數的類型

一些窗口函數

什麼是 SQL 窗口函數?

窗口是表或結果集中的一組行或觀察值。在一個表中,您可能有多個窗口,具體取決於您指定查詢的方式。使用 SQL 中的 OVER() 子句。函數是在 SQL 中預定義的,您可以使用它們對數據執行操作。它們讓您可以執行聚合數據、格式化字符串、提取日期等操作。

因此 Windows 函數是 SQL 函數,使我們能夠在窗口(即一組記錄)上執行操作。

SQL 窗口函數的類型

SQL 中存在很多窗口函數,但它們主要分為 3 種不同類型:

聚合窗口函數值窗口函數排名窗口函數

聚合窗口函數用於對窗口中的行集執行操作。它們包括 SUM()、MAX()、COUNT() 等。

排名窗口函數用於對窗口中的行進行排名。它們包括 RANK()、DENSE_RANK()、ROW_NUMBER() 等。

值窗口函數類似於聚合窗口函數,在一個窗口中執行多個操作,但它們與聚合函數不同。它們包括 LAG()、LEAD()、FIRST_VALUE() 等內容。

我希望這篇文章對您有所幫助!

現在閱讀: SQL 和 MySQL 的區別

為什麼它們在 SQL 中被稱為窗口函數?

因為它們在一個“窗口框架”上操作,該窗口框架是一組相對於當前行的行,可以使用 ROWS 或 RANGE 關鍵字更精確地指定。

什麼是 SQL 中的窗口函數與子查詢?

總而言之,子查詢和窗口函數在 SQL 中用於不同的目的SQL,各有優缺點。對於跨相關行的計算,窗口函數通常更高效且更易於維護,而子查詢對於根據條件過濾和聚合數據很有用。

Categories: IT Info