国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Mysql8.0使用窗口函數解決排序問題

Mysql8.0使用窗口函數解決排序問題

2020-12-30 16:46追夢人++ Mysql

窗口的概念非常重要,它可以理解為記錄集合,窗口函數也就是在滿足某種條件的記錄集合上執行的特殊函數。這篇文章主要介紹了Mysql8.0使用窗口函數解決排序問題,需要的朋友可以參考下

MySQL窗口函數簡介

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

什么叫窗口?

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

窗口函數和普通聚合函數也很容易混淆,二者區別如下:

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

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

一、mysql5.0

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


Mysql8.0使用窗口函數解決排序問題

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

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

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


Mysql8.0使用窗口函數解決排序問題

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

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

?
1
2
3
4
5
6
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就是把子查詢取一個別名方便前面調用。

結果如下:


Mysql8.0使用窗口函數解決排序問題

二、mysql8.0

對于這個問題,在mysql8.0中有專門的的窗口函數可以調用,復雜問題簡單化。

語句如下:

?
1
2
3
4
5
6
7
8
SELECT
sales_name,
sum( sales ),
row_number ( ) over ( ORDER BY sum( sales ) DESC ) AS ‘rank'
FROM
spm_order
GROUP BY
sales_name<br>

結果:


Mysql8.0使用窗口函數解決排序問題

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

總結

以上所述是小編給大家介紹的Mysql8.0使用窗口函數解決排序問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

原文鏈接:https://blog.csdn.net/weixin_46084216/article/details/103862314

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美中文字幕一区二区三区亚洲 | 国产黄色大片 | 日本精品视频在线观看 | 日韩国产欧美精品 | 激情五月激情综合网 | 操操操操操操 | 6080yy午夜一二三区久久 | 久久美女视频 | 国产一区二区三区在线视频 | 成人午夜性a一级毛片免费看 | 精品一区二区av | 国产在线不卡 | 国产精品高清在线 | 国产午夜精品久久久 | 午夜精品影院 | 日韩av一区二区在线观看 | 欧美一级免费 | 国产伊人久 | 亚洲国产久| 91精品国产综合久久久久 | 波多野结衣一区二区三区中文字幕 | 黄色精品在线 | 高清av一区 | 亚洲人人 | 欧美午夜精品久久久久免费视 | 一区二区三区精品 | 日韩美女国产精品 | 在线视频国产一区 | 福利片在线免费观看 | 99视频这里有精品 | 久久精品国产一区二区三区 | 国产精品18久久久久vr手机版特色 | 免费看黄色电影 | 亚洲精品99| 国产精品三级久久久久久电影 | 国产精品久久久久久亚洲调教 | 国产精品18久久久久久久久 | 黄色一级在线观看 | 91久久| 日韩成人精品在线观看 | 手机在线观看 |