類別 | 函數(shù) | 說明 |
排序 | ROW_NUMBER | 為表中的每一行分配一個(gè)序號(hào),可以指定分組(也可以不指定)及排序字段 |
DENSE_RANK | 根據(jù)排序字段為每個(gè)分組中的每一行分配一個(gè)序號(hào)。 排名值相同時(shí),序號(hào)相同,序號(hào)中沒有間隙(1,1,2,3這種) | |
RANK | 根據(jù)排序字段為每個(gè)分組中的每一行分配一個(gè)序號(hào)。 排名值相同時(shí),序號(hào)相同,但序號(hào)中存在間隙(1,1,3,4這種) | |
NTILE | 根據(jù)排序字段為每個(gè)分組中根據(jù)指定字段的排序再分成對應(yīng)的組 | |
分布 | PERCENT_RANK | 計(jì)算各分組或結(jié)果集中行的百分?jǐn)?shù)等級(jí) |
CUME_DIST | 計(jì)算某個(gè)值在一組有序的數(shù)據(jù)中累計(jì)的分布 | |
前后 | LEAD | 返回分組中當(dāng)前行之后的第N行的值。如果不存在對應(yīng)行,則返回NULL。比如N=1時(shí),第一名對應(yīng)的值是第二名的,最后一名結(jié)果是NULL |
LAG | 返回分組中當(dāng)前行之前的第N行的值。如果不存在對應(yīng)行,則返回NULL。比如N=1時(shí),第一名對應(yīng)的值是是NUL,最后一名結(jié)果是倒數(shù)第2的值 | |
首尾中 | FIRST_VALUE | 返回每個(gè)分組中第一名對應(yīng)的字段(或表達(dá)式)的值,例如本文中可以是第一名的分?jǐn)?shù)、學(xué)號(hào)等任意字段的值 |
LAST_VALUE | 返回每個(gè)分組中最后一名對應(yīng)的字段(或表達(dá)式)的值,例如本文中可以是最后一名的分?jǐn)?shù)、學(xué)號(hào)等任意字段的值 | |
NTH_VALUE |
返回每個(gè)分組中排名第N的對應(yīng)字段(或表達(dá)式)的值,但小于N的行對應(yīng)的值是NULL |
MySQL中主要的窗口函數(shù)先總結(jié)這么多,建議還是得動(dòng)手實(shí)踐一番。另外,MySQL5.7及之前版本的排序方式的實(shí)現(xiàn)很多人已總結(jié),也建議實(shí)操一番。
總結(jié)
到此這篇關(guān)于MySQL8.0窗口函數(shù)入門實(shí)踐及總結(jié)的文章就介紹到這了,更多相關(guān)MySQL8.0窗口函數(shù)實(shí)踐內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:定西 秦皇島 澳門 寧夏 白銀 杭州 益陽 恩施
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL8.0窗口函數(shù)入門實(shí)踐及總結(jié)》,本文關(guān)鍵詞 MySQL8.0,窗口,函數(shù),入門,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。