日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分组数据

發布時間:2025/3/8 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分组数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:GROUP BY

1.介紹

  GROUP BY子句通過列或表達式的值將一組行分組為一個小分組的匯總行記錄。

  GROUP BY子句為每個分組返回一行。換句話說,它減少了結果集中的行數。

  經常使用GROUP BY子句與聚合函數一起使用,如SUM,AVG,MAX,MIN和COUNT。SELECT子句中使用聚合函數來計算有關每個分組的信息。

?

2.用法

  

?

3.舉例,普通用法

  效果相同。

  ,

?

4.與聚合函數在一起舉例一

  需求:想知道每個狀態中的訂單數,可以使用COUNT函數與GROUP BY子句查詢語句

  

  

?

5.與聚合函數在一起的舉例二

  

  

?

6.舉例三

  

?

7.group by用表達式

  可以按表達式對行進行分組。以下查詢獲取每年的總銷售額

  

  使用YEAR函數從訂單日期(orderDate)中提取年份數據。只包括已發貨(Shipped)狀態的訂單。

   請注意,SELECT子句中出現的表達式必須與GROUP BY子句中的相同。

  

?

8.group by與having

  可使用HAVING子句過濾GROUP BY子句返回的分組。

  以下查詢使用HAVING子句來選擇2013年以后的年銷售總額。

  

  

?

9.mysql與標準語句

  A:標準SQL不允許使用GROUP BY子句中的別名,但MySQL支持此選項。

  以下查詢從訂單日期提取年份,并對每年的訂單進行計數。該year用作表達式YEAR(orderDate)的別名,它也用作GROUP BY子句中的別名,此查詢在標準SQL中無效。

  

?

  B:MySQL還允許您以升序或降序(標準SQL不能提供)對組進行排序.

  默認順序是升序。例如,如果要按狀態獲取訂單數量并按降序對狀態進行排序,則可以使用帶有DESC的GROUP BY子句,如下查詢語句

  

?

?

二:HAVING

1.介紹

  HAVING子句為行分組或聚合組指定過濾條件 

  在SELECT語句中使用HAVING子句來指定一組行或聚合的過濾條件。

  HAVING子句通常與GROUP BY子句一起使用,以根據指定的條件過濾分組。如果省略GROUP BY子句,則HAVING子句的行為與WHERE子句類似。

請注意,HAVING子句將過濾條件應用于每組分行,而WHERE子句將過濾條件應用于每個單獨的行。

  

2.示例

  可以使用GROUP BY子句來獲取訂單號,查看每個訂單銷售的商品數量和每個銷售總額:

  

  現在,可以通過使用HAVING子句查詢(過濾)哪些訂單的總銷售額大于55000,如下所示:

?  

  

  可以使用邏輯運算符(如OR和AND)在HAVING子句中構造復雜過濾條件。 假設您想查找哪些訂單的總銷售額大于50000,并且包含超過600個項目:

  

  

?

總結

以上是生活随笔為你收集整理的分组数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。