日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL中sum函數使用的實例教程

瀏覽:180日期:2023-10-05 08:12:28
文章簡介

今天分享一下MySQL中的sum函數使用。該函數已經成為大家操作MySQL數據庫中時常用到的一個函數,這個函數統計滿足條件行中指定列的和,想必肯定大家都知道了,本身就沒什么講頭了,這篇文章主要是通過幾個小案例深入了解一下該函數,以及在做MySQL查詢時如何使用sum函數做優化。

語法分析

SUM([DISTINCT] expr) [over_clause]

Returns the sum of expr. If the return set has no rows, SUM() returns NULL. The DISTINCT keyword can be used to sum only the distinct values of expr. If there are no matching rows, SUM() returns NULL. This function executes as a window function if over_clause is present.

上面幾句是MySQL官方文檔的一個功能描述。這里翻譯一下大致的意思是什么。

返回expr表達式的和。如果沒有返回行數,則返回NULL。這里的DISTINCT是為了去掉表達式expr中的重復值。 如果沒有匹配到行,該函數也返回NULL。 如果設置了over_clause,則該函數作為窗口函數執行。對窗口函數不熟悉的,可以去了解一下MySQL中的窗口函數。函數解釋

在使用該函數時,我們應該思考一下,該函數是如何統計表達式中的和呢?可能有的程序員會想,這個函數直接去統計滿足條件中所有行的總和。這么理解其實也沒錯,只是表達的不是很準確或者他不夠真實了解運行原理。實際上該函數是根據匹配行的值,一個一個累加起來的。這里舉個例子,在一個訂單表中滿足條件的有10行數據,我們需要統計訂單中的總價,sum的初始值是0,在匹配到第一行時,訂單價格是10,此時sum就變成10,匹配到第二行,訂單價格是20,這時候sum就是30。第三行訂單價格是50,這時候sum就是80。按照這種方式依次累加。

行數 訂單價格 sum值 第一行 10.00 10.00 第二行 20.00 30.00 第三行 30.00 60.00 第四行 40.00 100.00 第五行 50.00 150.00 第...行 ... ... 第十行 100.00 550.00

實例演示

假設有下面一張表(Delivery),表結構如下:

+-----------------------------+---------+| Column Name | Type |+-----------------------------+---------+| delivery_id | int || customer_id | int || order_date | date || customer_pref_delivery_date | date || order_money | decimal |+-----------------------------+---------+

delivery_id 是表的主鍵。

該表保存著顧客的食物配送信息,顧客在某個日期下了訂單,并指定了一個期望的配送日期(和下單日期相同或者在那之后)。如果顧客期望的配送日期和下單日期相同,則該訂單稱為 「即時訂單」,否則稱為「計劃訂單」。里面有如下數據:

+-------------+-------------+------------+-----------------------------+-------------+| delivery_id | customer_id | order_date | customer_pref_delivery_date | order_money |+-------------+-------------+------------+-----------------------------+-------------+| 1 | 1 | 2019-08-01 | 2019-08-02 | 1.23 || 2 | 5 | 2019-08-02 | 2019-08-02 | 1.01 || 3 | 1 | 2019-08-11 | 2019-08-11 | 1.09 || 4 | 3 | 2019-08-24 | 2019-08-26 | 1.00 || 5 | 4 | 2019-08-21 | 2019-08-22 | 10.00 || 6 | 2 | 2019-08-11 | 2019-08-13 | 12.09 |+-------------+-------------+------------+-----------------------------+-------------+

實例一

統計出該表中所有的訂單總金額。這里就很簡單了,也是我們常用的使用方式,直接sum()參數填寫某一個列就行了。按照上面的語法規則應該是一個表達式,實際上一列也是一個表達式。

select sum(order_money) from Delivery;

實例二

寫一條 SQL 查詢語句獲取即時訂單所占的百分比, 保留兩位小數。這個可能就有一點點難度了,因為你很少用這個語法,如果你用過,就會發現也很簡單。

首先你要理解,既然是查詢某一個類型的占比,肯定就需要統計總和。我們可以分別去統計到訂單總和sum1,然后再去統計即時訂單總和sum1,然后再去統計即時訂單總和sum1,然后再去統計即時訂單總和sum2。然后在相除就可以了。但是這里明確要求一條SQL語句。那該如何解決呢?

這里就需要你深入了解一下sum的運行原理,我們可以設想我們一行一行的去讀取數據,然后讓sum一行一行的累計起來,是不是就可以得到sum2的綜合了?至于sum2的綜合了?至于sum2的綜合了?至于sum1肯定很好統計,直接是表中行數的綜合。

題解方式一:

select round ( sum(case when order_date = customer_pref_delivery_date then 1 else 0 end) / count(*) * 100, 2) as immediate_percentagefrom Delivery

題解方式二:

select round ( sum(order_date = customer_pref_delivery_date) / count(*) * 100, 2) as immediate_percentagefrom Delivery

這里當sum表達式滿足條件,返回1,每次讀到滿足的一行數據,sum都加1,最后數據讀完sum也就加完了。因此滿足條件的總條數就出來了。

題目來源

改題目來源于LeetCode。

來源:力扣(LeetCode)

鏈接:leetcode-cn.com/problems/im…

還有一個比較不錯的例子,推薦好好解讀一下。加深該函數的使用場景。

https://www.jb51.net/article/207813.htm

總結

到此這篇關于MySQL中sum函數使用的文章就介紹到這了,更多相關MySQL sum函數使用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
美女精品视频在线| 亚洲一区欧美二区| 国产色噜噜噜91在线精品| 日韩视频1区| 亚洲欧美在线专区| 日本一区中文字幕| 欧美在线日韩| 国产精品chinese| 国内揄拍国内精品久久| 伊人久久在线| 日韩国产在线| 久久久久久久久99精品大| 日韩精品午夜| 日韩亚洲在线| 亚洲日本免费电影| 国产精品极品| 国产伊人久久| 欧美中文一区二区| 美女久久一区| 日韩欧美久久| 精品一区二区三区中文字幕 | 精品国产三区在线| 久久亚州av| 丝袜av一区| 天使萌一区二区三区免费观看| 日韩精品一卡二卡三卡四卡无卡| 欧美一区自拍| 久久久久久夜| 国产精品av久久久久久麻豆网| 免费久久99精品国产| 欧美日韩一区二区三区不卡视频 | 久久中文字幕二区| 国产综合精品一区| 伊人国产精品| 精品视频99| 欧美午夜不卡影院在线观看完整版免费| 噜噜噜躁狠狠躁狠狠精品视频| 国产图片一区| 精品三级久久| 亚洲开心激情| 粉嫩av一区二区三区四区五区| 91精品国产91久久久久久黑人| 亚洲欧美日本国产| 福利在线免费视频| 免费黄网站欧美| 久草精品视频| 国产精品免费看| 国产欧美日韩亚洲一区二区三区| 日韩国产在线| 日韩黄色免费网站| 久久精品高清| 国产欧美91| japanese国产精品| 国产精品jk白丝蜜臀av小说| 免费av一区| 欧美激情一区| 亚洲少妇在线| 精品国产一区二区三区av片| 国产婷婷精品| 国产一区二区三区亚洲| 久久亚洲欧洲| 不卡福利视频| 日韩高清不卡在线| 欧美 日韩 国产精品免费观看| 久久激情综合网| 黄色亚洲在线| 国产第一亚洲| 91国内精品| 宅男噜噜噜66国产日韩在线观看| 精品视频97| 日韩精品第一| 欧美成人国产| 欧美1区2区3| 亚洲精品大全| jiujiure精品视频播放| 狠狠久久伊人| 国产日产一区| 国产精品丝袜xxxxxxx| 四虎8848精品成人免费网站| 欧美午夜网站| 亚洲网址在线观看| 欧美日韩国产高清电影| 视频在线不卡免费观看| 国产欧美亚洲精品a| 男女男精品视频网| 1024精品一区二区三区| 麻豆视频在线观看免费网站黄| 欧美亚洲免费| 亚洲精品精选| 99在线精品免费视频九九视| 日韩黄色大片网站| 久久一区欧美| 日韩二区三区在线观看| 久久午夜精品一区二区| 欧美a级一区| 日韩精品欧美| 日韩精品中文字幕第1页| 免费一级欧美片在线观看网站 | 不卡中文一二三区| 日韩在线短视频| 日韩88av| 精品一区视频| 久久99久久久精品欧美| 国产精品一区二区精品视频观看| 综合亚洲视频| 久久av一区| 国产毛片一区| 黑丝一区二区| 黄色欧美日韩| 欧美网站在线| 黄色亚洲精品| 亚洲一区久久| 老鸭窝毛片一区二区三区| 日韩一级精品| 久久xxxx| 亚洲视频电影在线| 亚洲毛片在线免费| 免费观看在线综合色| 美女91精品| 一区二区国产精品| 日韩欧美精品一区二区综合视频| 亚州av日韩av| 日韩亚洲精品在线观看| 日本精品国产| 97se亚洲| 国产精选久久| 麻豆精品蜜桃视频网站| 免费一级欧美在线观看视频| 久久久国产精品网站| 红杏一区二区三区| 在线亚洲人成| 九九久久电影| 伊人久久亚洲美女图片| 免费久久99精品国产自在现线| 男人的天堂久久精品| 日韩高清成人在线| 久久精品国产久精国产爱| 国产资源在线观看入口av| 欧美日韩精品在线一区| 999在线观看精品免费不卡网站| 亚洲一区二区三区四区五区午夜| 免费看欧美美女黄的网站| 日韩av二区在线播放| 国产精品久久乐| 91亚洲国产成人久久精品| 五月激情久久| 在线 亚洲欧美在线综合一区| 亚洲一区欧美激情| 日韩精品欧美成人高清一区二区| 国产精品密蕾丝视频下载| 精品国产美女a久久9999| 蜜桃精品在线| 视频在线观看91| 久久精品xxxxx| 精品国产亚洲日本| 精品中文一区| 日本不卡一区二区三区| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 91av一区| 欧美韩日一区| 国产一级久久| 国产精品视频一区二区三区四蜜臂| 91亚洲人成网污www| 在线一区电影| 欧美在线精品一区| 国产欧美一区二区三区精品酒店| 久久国产欧美| 亚洲开心激情| 精品国产欧美| 老鸭窝亚洲一区二区三区| 国产色噜噜噜91在线精品| 中文字幕在线免费观看视频| 亚洲一区不卡| 精品国产不卡| 欧美另类综合| 麻豆一区在线| 欧美中文日韩| 欧美aa在线视频| 99香蕉国产精品偷在线观看 | 婷婷综合网站| 日韩精品久久理论片| 97精品在线| 蜜桃一区二区三区在线观看| 麻豆精品国产91久久久久久| 91精品1区| 欧美成人一二区| 国产精品丝袜xxxxxxx| 久久精品女人| 六月天综合网| 成人午夜毛片| 婷婷久久免费视频| 日韩在线短视频| 三级久久三级久久久| 日韩av片子| 日韩avvvv在线播放| 免费观看久久av| 美女视频网站久久| 亚洲综合小说| 欧美性感美女一区二区| 久久av国产紧身裤|