最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫基礎(chǔ)篇SQL窗口函數(shù)示例解析教程

 更新時間:2021年10月26日 09:27:11   作者:數(shù)據(jù)分析與統(tǒng)計學(xué)之美  
這篇文章主要為大家介紹了MySQL數(shù)據(jù)庫基礎(chǔ)篇之窗口函數(shù)示例解析教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步

本文簡介

前段時間,黃同學(xué)寫了一篇《MySQL窗口實戰(zhàn)》文章(文章如下),但是里面大多數(shù)是以實戰(zhàn)練習(xí)為主,沒有做詳細(xì)的解釋。

傳送門:MySQL實戰(zhàn)窗口函數(shù)SQL分析班級學(xué)生考試成績及生活消費

于是,私信了月牙美女,看看她能否寫一篇《窗口函數(shù)基礎(chǔ)篇》,正好和之前那篇文章配套。這不,很快她就寫好了,今天就給大家做一個分享,旨在和大家交流學(xué)習(xí)哦!

下面是月牙的玩笑簡介,附帶大圖一張哦。

正文介紹

窗口函數(shù),也被稱為 “開窗函數(shù)”,MySQL8.0以后,就可以使用這些函數(shù)了。

我們在力扣刷題的時候,不難發(fā)現(xiàn),比較困難的題目經(jīng)常會涉及到窗口函數(shù)的應(yīng)用,可以說窗口函數(shù),是檢驗我們的SQL水平是否到達(dá)熟練水平的一個標(biāo)尺。

窗口函數(shù)的格式為: 聚合函數(shù)+over()

窗口是描述over()括號內(nèi)劃定的內(nèi)容,這個內(nèi)容就是窗口函數(shù)的作用域,即操作的數(shù)據(jù)都在over()的范圍內(nèi)。

對于窗口函數(shù),我個人的理解是給源數(shù)據(jù)開一扇可以滑動的窗口,在窗口移動的時候可以對其中的數(shù)據(jù)進(jìn)行附加計算,如移動平均、分組排序等,窗口可以是一行多行甚至是所有行。

窗口函數(shù),還可以對多組數(shù)據(jù)進(jìn)行同步排序、聚合等運算,針對group by子句或where處理后的結(jié)果進(jìn)行操作,只能寫入select子句里。

靈魂畫手上線,用Excel簡單做了個簡易版的窗口函數(shù)的演示圖:

在這里插入圖片描述

聚合函數(shù) + over()

基本語法:

sum/avg(被加工的字段名) over(partition by 分組的字段名 order by 排序的字段名 rows between … and …)

含義: 表示用partition by分組后針對每個組別進(jìn)行求和或者求均值。

--包括本行以內(nèi)和前3行:rows between 6 preceding and current row
--包括本行以內(nèi)和后3行:rows between current row and 3 following
--包括本行和之前所有的行:rows between unbounded preceding and current row
--包括本行和之后所有的行:rows between current row and unbounded following
--從前3行到下1行(總共包含5行數(shù)據(jù)):rows between 3 preceding and 1 following

還有一些其它的聚合函數(shù),例如max、min、count,它們的語法結(jié)構(gòu)都類似。

排序函數(shù) + over()

row_number()、rank()、dense_rank()這三個函數(shù),都是對select查詢到的結(jié)果進(jìn)行排序,我們來看看這三者的區(qū)別。

row_number(): 為不重復(fù)的連續(xù)排序,從1開始,為查詢到的數(shù)據(jù)依次生成不重復(fù)的序號進(jìn)行排序

基本語法——row_number() over(order by 需要排序的字段asc/desc);

rank(): 為跳躍排序,結(jié)果相同的兩個數(shù)據(jù)并列,為下一個數(shù)據(jù)空出所占的名次,即相同排名會占位

基本語法——rank() over(order by 需要排序的字段 asc/desc);

dense_rank(): 為有重復(fù)的連續(xù)排序,結(jié)果相同的兩個數(shù)據(jù)并列,不為下一個數(shù)據(jù)空出所占的名次,即相同排名不占位

基本語法——dense_rank() over(order by 需要排序的字段 asc/desc);

我們用一張圖來表示這三者間的關(guān)系:

在這里插入圖片描述

ntile()函數(shù) + over()

基本語法: ntile(n) over(partition by…order by…)其中n表示被切分的段數(shù)。

ntile(n)用于將分組數(shù)據(jù)平均切分成n塊,如果切分的每組數(shù)量不均等,則第一組分得的數(shù)據(jù)更多。

ntile()函數(shù)通常用于比如求年級前10%成績的學(xué)生,則n取值為10,用where篩選出第一組的數(shù)據(jù)。

偏移函數(shù) + over()

基本語法1:前N行:lead(str, n, default) over(partition by …order by …)

基本語法2:后N行:lag(str, n, default) over(partition by …order by …)

str表示字段名,n表示前/后n行數(shù)據(jù),默認(rèn)值為1,default表示如果取值范圍已經(jīng)超過整個表的返回值,可以不填,不填默認(rèn)返回N/A。

偏移函數(shù),用于取出同一字段的前N行數(shù)據(jù)或后N行數(shù)據(jù),作為單獨的列,這里需要特別注意一下的是,lead代表前N行,lag代表后N行。

以上就是MySQL數(shù)據(jù)庫基礎(chǔ)篇窗口函數(shù)示例解析教程的詳細(xì)內(nèi)容,更多關(guān)于MySQL窗口函數(shù)基礎(chǔ)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 最新mysql-5.7.21安裝和配置方法

    最新mysql-5.7.21安裝和配置方法

    這篇文章主要介紹了最新mysql-5.7.21安裝和配置方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Mysql日期查詢的詳細(xì)介紹

    Mysql日期查詢的詳細(xì)介紹

    這篇文章主要介紹了Mysql日期查詢的詳細(xì)介紹,根據(jù)時間段進(jìn)行查詢數(shù)據(jù)庫中單表中的數(shù)據(jù),如果感興趣的來了解一下
    2020-07-07
  • MySQL單表查詢操作實例詳解【語法、約束、分組、聚合、過濾、排序等】

    MySQL單表查詢操作實例詳解【語法、約束、分組、聚合、過濾、排序等】

    這篇文章主要介紹了MySQL單表查詢操作,結(jié)合實例形式詳細(xì)分析了mysql單表查詢的語法、約束、分組、聚合、過濾、排序等相關(guān)原理、操作技巧與注意事項,需要的朋友可以參考下
    2019-12-12
  • Windows10下mysql 8.0.12 解壓版安裝圖文教程

    Windows10下mysql 8.0.12 解壓版安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows10下mysql 8.0.12 解壓版安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • MYSQL數(shù)據(jù)表基本操作之創(chuàng)建+查看+修改+刪除操作方法

    MYSQL數(shù)據(jù)表基本操作之創(chuàng)建+查看+修改+刪除操作方法

    本文將介紹如何在MySQL數(shù)據(jù)庫中進(jìn)行數(shù)據(jù)表的創(chuàng)建、查看、修改和刪除操作,并討論一些常見的注意事項及防止誤操作的策略,通過這些基礎(chǔ)操作,您將能夠更高效地進(jìn)行數(shù)據(jù)庫設(shè)計和管理工作,感興趣的朋友一起看看吧
    2025-04-04
  • 淺談mysql雙層not exists查詢執(zhí)行流程

    淺談mysql雙層not exists查詢執(zhí)行流程

    本文主要介紹了淺談mysql雙層not?exists查詢執(zhí)行流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • MySQL與存儲過程的相關(guān)資料

    MySQL與存儲過程的相關(guān)資料

    這篇文章主要介紹了MySQL與存儲過程的相關(guān)資料,需要的朋友可以參考下
    2007-03-03
  • MySQL中字段的實際長度的實現(xiàn)示例代碼

    MySQL中字段的實際長度的實現(xiàn)示例代碼

    MySQL字段的存儲長度不僅取決于數(shù)據(jù)類型,還受字符編碼和存儲內(nèi)容的影響,CHAR和VARCHAR字段可以使用LENGTH()和CHAR_LENGTH()函數(shù)獲取長度信息,下面就來具體介紹一下
    2024-09-09
  • mysql xtrabackup 備份恢復(fù)實現(xiàn)分享

    mysql xtrabackup 備份恢復(fù)實現(xiàn)分享

    Xtrabackup是由percona提供的mysql數(shù)據(jù)庫備份工具,據(jù)官方介紹,這也是世界上惟一一款開源的能夠?qū)nnodb和xtradb數(shù)據(jù)庫進(jìn)行熱備的工具
    2012-11-11
  • mysql的內(nèi)連接,左連接和右鏈接查詢詳解

    mysql的內(nèi)連接,左連接和右鏈接查詢詳解

    這篇文章主要為大家詳細(xì)介紹了mysql的內(nèi)連接,左連接和右鏈接查詢,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03

最新評論

金秀| 延边| 许昌县| 曲周县| 通城县| 石泉县| 祁门县| 郴州市| 龙胜| 河北区| 安福县| 洪洞县| 新宾| 手机| 望谟县| 峨眉山市| 六枝特区| 墨江| 工布江达县| 穆棱市| 巴东县| 鞍山市| 长阳| 金阳县| 菏泽市| 绥滨县| 密山市| 简阳市| 固镇县| 盐池县| 平武县| 蓝山县| 岳普湖县| 武宁县| 阿克苏市| 张家界市| 闻喜县| 德阳市| 二手房| 临海市| 灵宝市|