91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle中LAG函數怎么用

發布時間:2021-11-10 09:09:45 來源:億速云 閱讀:1054 作者:小新 欄目:關系型數據庫

這篇文章給大家分享的是有關oracle中LAG函數怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

該內容來自官方翻譯,因為今天看到一個查詢語句中使用該函數,不是太明白用法,這里先簡單了解一下。

oracle中LAG函數怎么用

LAG是一個分析函數,主要提供用于同時訪問多行數據,且此數據不通過自連接獲取。當從查詢獲取多行值和一個位置游標,LAG會訪問游標位置中物理偏移量優先的數據,

offset(偏移量)參數為一個大于0的可選整數值。如果不指定偏移量,默認值為1。

當offset超過顯示范圍,則顯示選項default的值。如果不指定default值,則默認為空。

{RESPECT | IGNORE} NULLS選項決定是否將空值或VALUE_EXPR表達式的值包含在內,或將這些值淘汰掉,默認為RESPECT NULLS

對于表達式VALUE_EXPR,不可以在LAG中嵌套使用任何其他的分析函數,但可以使用內建函數。

文檔中給出的列子比較具有代表性:

SELECT hire_date, last_name, salary,

       LAG(salary, 1, 0 ) OVER (ORDER BY hire_date) AS prev_sal

  FROM employees

  WHERE job_id = 'PU_CLERK'

  ORDER BY hire_date;


HIRE_DATE           LAST_NAME                                                                       SALARY   PREV_SAL

------------------- --------------------------------------------------------------------------- ---------- ----------

2003-05-18 00:00:00 Khoo                                                                              3100          0

2005-07-24 00:00:00 Tobias                                                                            2800       3100

2005-12-24 00:00:00 Baida                                                                             2900       2800

2006-11-15 00:00:00 Himuro                                                                            2600       2900

2007-08-10 00:00:00 Colmenares                                                                        2500       2600

如何理解LAG工作的機制,因為獲取的結果是多行數據:

SQL> select hire_date,last_name,salary from employees where job_id = 'PU_CLERK' order by  hire_date;
HIRE_DATE           LAST_NAME                                                                       SALARY
------------------- --------------------------------------------------------------------------- ----------
2003-05-18 00:00:00 Khoo                                                                              3100
2005-07-24 00:00:00 Tobias                                                                            2800
2005-12-24 00:00:00 Baida                                                                             2900
2006-11-15 00:00:00 Himuro                                                                            2600
2007-08-10 00:00:00 Colmenares                                                                        2500

從上下兩個查詢結果不難看出,LAG將查詢的結果進行偏移,其偏移量為1,獲得了上一個查詢結果,而第一行記錄(salary=3100)的上一個查詢不存在的時候,offset超過了顯示范圍,所以用指定的default值0替代。

感謝各位的閱讀!關于“oracle中LAG函數怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泸西县| 正蓝旗| 通河县| 鹿泉市| 旬邑县| 台湾省| 南皮县| 宁城县| 淄博市| 四平市| 马边| 南溪县| 漳平市| 桃源县| 洛宁县| 灵丘县| 蓬莱市| 高雄市| 富阳市| 新丰县| 武山县| 扎兰屯市| 冕宁县| 淳化县| 沙坪坝区| 什邡市| 通州市| 赤城县| 西充县| 南陵县| 沐川县| 繁峙县| 凌云县| 太仆寺旗| 饶平县| 行唐县| 黄石市| 班玛县| 靖宇县| 莆田市| 东方市|