欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Mysql8.0使用窗口函數(shù)解決排序問題

MySQL窗口函數(shù)簡介

站在用戶的角度思考問題,與客戶深入溝通,找到龍港網(wǎng)站設(shè)計與龍港網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋龍港地區(qū)。

MySQL從8.0開始支持窗口函數(shù),這個功能在大多商業(yè)數(shù)據(jù)庫和部分開源數(shù)據(jù)庫中早已支持,有的也叫分析函數(shù)。

什么叫窗口?

窗口的概念非常重要,它可以理解為記錄集合,窗口函數(shù)也就是在滿足某種條件的記錄集合上執(zhí)行的特殊函數(shù)。對于每條記錄都要在此窗口內(nèi)執(zhí)行函數(shù),有的函數(shù)隨著記錄不同,窗口大小都是固定的,這種屬于靜態(tài)窗口;有的函數(shù)則相反,不同的記錄對應(yīng)著不同的窗口,這種動態(tài)變化的窗口叫滑動窗口。

窗口函數(shù)和普通聚合函數(shù)也很容易混淆,二者區(qū)別如下:

聚合函數(shù)是將多條記錄聚合為一條;而窗口函數(shù)是每條記錄都會執(zhí)行,有幾條記錄執(zhí)行完還是幾條。

聚合函數(shù)也可以用于窗口函數(shù)中,這個后面會舉例說明。

一、mysql5.0

例如:我們要計算銷售人員的銷售額,結(jié)果按從高到低排序,查詢結(jié)果中要包含銷售的排名。


Mysql8.0使用窗口函數(shù)解決排序問題

1、計算銷售人員的銷售額,結(jié)果按從高到低排序

這一部分我們可以直接使用group by對銷售人員分組,使用聚合函數(shù)sum對銷售額進(jìn)行求和,結(jié)果對銷售額使用order by 排序就可以。語句如下:

SELECT sales_name, sum( profit ) FROM spm_order GROUP BY sales_name ORDER BY sum( profit ) DESC


Mysql8.0使用窗口函數(shù)解決排序問題

2、如果查詢結(jié)果要包含銷售的排名。

在mysql5.0中, 我們要定義一個排序自增的變量,讓它實現(xiàn)自動+1來作為一個新的列。語句如下:

SET @rank = 0;
SELECT
A.*,
@rank := @rank + 1 AS rank_no
FROM
( SELECT sales_name, sum( profit ) FROM spm_order GROUP BY sales_name ORDER BY sum( profit ) DESC ) A

這里的:=就是賦值的意思 這里的A就是把子查詢?nèi)∫粋€別名方便前面調(diào)用。

結(jié)果如下:


Mysql8.0使用窗口函數(shù)解決排序問題

二、mysql8.0

對于這個問題,在mysql8.0中有專門的的窗口函數(shù)可以調(diào)用,復(fù)雜問題簡單化。

語句如下:

SELECT
sales_name,
sum( sales ),
row_number ( ) over ( ORDER BY sum( sales ) DESC ) AS ‘rank'
FROM
spm_order
GROUP BY
sales_name

結(jié)果:


Mysql8.0使用窗口函數(shù)解決排序問題

在這里我們使用了[ row_number() over () ] ,在over()里面直接寫上我們要排序的內(nèi)容。
工作中企業(yè)基本都是用的5.0版本,所以多學(xué)習(xí)一下吧。

總結(jié)

以上所述是小編給大家介紹的Mysql8.0使用窗口函數(shù)解決排序問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

新聞標(biāo)題:Mysql8.0使用窗口函數(shù)解決排序問題
標(biāo)題網(wǎng)址:http://chinadenli.net/article26/ggjhcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷品牌網(wǎng)站設(shè)計品牌網(wǎng)站制作營銷型網(wǎng)站建設(shè)域名注冊網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計