mysql group by使用方法實例講解

MySQL中GROUP BY語句用于對某個或某些字段查詢分組,并返回重復記錄的第一條,本文章通過實例向大家介紹mysql group by使用方法和需要注意的地方,感興趣的朋友可以參考一下。

現在有這樣一個數據表book

idfirst_namelast_namecityage
1JasonMartinToronto15
2AlisonMathewsVancouver16
3JamesMathewsVancouver14
4CeliaRiceVancouver14
5DavidLarryNew York16

group by基本實例

我們對city字段進行分組查詢

SELECT * FROM book GROUP BY city

結果如下:

結果如下:

idfirst_namelast_namecityage
1JasonMartinToronto15
2AlisonMathewsVancouver16
5DavidLarryNew York16

可以看出,group by是根據city來進行分組的,因為book表中有三個不同的city值,所以會出現三行數據,并且相同的city只返回結果集中的第一條數據。

group by多個字段

下面來看一下group by后面跟多個字段

SELECT * FROM book GROUP BY city,last_name

結果如下:

idfirst_namelast_namecityage
1JasonMartinToronto15
2AlisonMathewsVancouver16
4CeliaRiceVancouver14
5DavidLarryNew York16

group by后面跟多個字段如何理解呢?GROUP BY city,last_name是指所有city,last_name項只要有一個不相同就會分一個組的。因為上面book表中第二行數據與第三行數據的city和last_name相同,所以會舍棄其中的一行數據,一般都是舍棄后面一行,所以第二行數據保留了。

group by與聚合函數

一般情況下,group by都會與聚合函數一起使用,以達到復雜的數據查詢要求。

比如我們要根據city分組后,獲取每一組有多少條數據

SELECT *,count(*) FROM book GROUP BY city

結果為:

idfirst_namelast_namecityagecount(*)
1JasonMartinToronto151
2AlisonMathewsVancouver163
5DavidLarryNew York161

group by having

group by having用于指示被選擇的行必須滿足的條件

比如,我們根據city分組,但我們只需要查詢出每一組的數據條數大于1的。

SELECT *,count(*) FROM book GROUP BY city having count(*)>1

結果集為:

idfirst_namelast_namecityagecount(*)
2AlisonMathewsVancouver163

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11497.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11497.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11497.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

知乎知+廣告推廣該如何做?怎么收費?

知乎作為一個匯聚高質量用戶群體的知識分享平臺,成為了眾多品牌和產品推廣的優選之地。特別是知乎的“知”廣告推廣服務,以其精準定向、內容原生的特點,深受廣告主青睞。 一、知乎知廣告推廣基礎 1. 什么是知乎知? 知是知乎官方…

C++初階學習第七彈——探索STL奧秘(二)——string的模擬實現

標準庫中的string:C初階學習第六彈——string(1)——標準庫中的string類-CSDN博客 前言: 在前面我們已經學習了如何使用標準庫中的string類,但作為一個合格的程序員,我們不僅要會用,還要知道如…

C++類和對象下——實現日期類

前言 在學習了類和對象的六大成員函數后,為了鞏固我們學習的知識可以手寫一個日期類來幫助我們理解類和對象,加深對于其的了解。 默認函數 構造函數 既然是寫類和對象,我們首先就要定義一個類,然后根據實際需要來加入類的數據與函…

AI編程工具為什么選github copilot?

Github Copilot 是一個奇跡 它的競爭對手(Amazon, Google, Meta, 騰訊)都是免費的,但每月10-20美元的Github Copilot市場占有率最高。 1、2021年6月上線,比ChatGPT早近一年半 2、GitHub統計: 88%的用戶獲得效率提升平…

element ui的確認提示框文字樣式修改

修改確認提示框文字樣式修改,使用message屬性修改: 例: js代碼: this.$msgbox({title: 確定要刪除嗎?,message: this.$createElement(p, null, [this.$createElement(span, { style: color: red }, 該素材一旦刪除,…

Spring Boot日志

目錄 一、日志概述 1、為什么要學習日志? 2、日志的用途 (1)系統監控 (2)數據采集 (3)日志審計 二、日志使用 1、打印日志 (1)在程序中得到日志對象 &#xf…

QNX SLM介紹

QNX SLM SLM是Qnx中用來加載Application的組件,它可以監控Application行為(比如異常退出時重新Application拉起)、控制Application間的啟動時序。 QNX的SLM與Android RC文件類似。 下面摘自QNX官網介紹 System launch and monitor: launch c…

Redis日常維護流程及技巧:確保穩定性與性能

目錄 一、監控和報警設置 1.實時監控:洞察Redis的脈搏 (1). 資源使用監控 (2). 數據訪問模式監控 (3). 持久化監控 (4). 客戶端連接 2.報警機制:快速響…

標準Modbus TCP雙網口開關量模塊

M140E以太網遠程I/O無線數據采集模塊是一款工業級、隔離設計、高可靠性、高穩定性和高精度數據采集模塊,嵌入式32位高性能微處理器MCU,集成2路工業10/100M自適應以太網模塊里面。提供多種I/O,支持標準Modbus TCP,可集成到SCADA、O…

Spring STOMP-連接到消息代理

STOMP 代理中繼維護一個與消息代理的“系統”TCP 連接。這個連接僅用于來自服務器端應用程序的消息,不用于接收消息。您可以為此連接配置STOMP憑據(即STOMP幀的login和passcode頭部)。這在XML命名空間和Java配置中都以systemLogin和systemPas…

CentOs搭建Kubernetes集群

kubeadm minikube 還是太“迷你”了,方便的同時也隱藏了很多細節,離真正生產環境里的計算集群有一些差距,畢竟許多需求、任務只有在多節點的大集群里才能夠遇到,相比起來,minikube 真的只能算是一個“玩具”。 Kuber…

spring基礎使用(案例)

基于xml使用: 準備: 1.Dao層(接口): public interface UserDao {public void save(); } 1.1 Dao層(實現類): public class UserDaoIim implements UserDao {Overridepublic vo…

Day53代碼隨想錄動態規劃part13:300.最長遞增子序列、674. 最長連續遞增序列、718. 最長重復子數組

Day52 動態規劃part13 300.最長遞增子序列 leetcode鏈接:300. 最長遞增子序列 - 力扣(LeetCode) 題意:給你一個整數數組 nums ,找到其中最長嚴格遞增子序列的長度。子序列是由數組派生而來的序列,刪除&a…

23種設計模式(軟考中級 軟件設計師)

設計模式 23個設計模式,23個意圖 1. 設計模式概要 設計模式的核心在于提供了相關問題的解決方案,使得人們可以更加簡單方便的復用成功的設計和體系結構 設計模式的類別 創建型結構型行為型類工廠方法模式適配器模式(類)解釋器模…

物聯網五層架構分析

物聯網五層架構分析 隨著科技的迅速發展,物聯網(IoT)作為日常生活中不可或缺的一部分,已融入人們的生活和工作中。物聯網五層架構,包括感知層、網絡層、數據層、應用層和業務層,扮演著關鍵的角色。 感知層 …

網絡庫-libcurl介紹

1.簡介 libcurl 是一個功能強大的庫,支持多種協議,用于數據傳輸。它廣泛應用于實現網絡操作,如HTTP、HTTPS、FTP、FTPS、SCP、SFTP等。libcurl 提供了豐富的 API,可以在多種編程語言中使用。 libcurl 主要特點 支持多種協議&am…

FreeRTOS計數型信號量

目錄 一、計數型信號量簡介 二、計數型信號量相關API 1、創建計數型信號量 2、釋放計數型信號量 3、獲取計數型信號量 4、獲取計數型信號量的計數值 三、計數型信號量實操 1、實驗需求 2、CubeMX配置 3、代碼實現 一、計數型信號量簡介 ①取值只有0與1兩種狀態的信號…

基于Springboot的滴答拍攝影

基于SpringbootVue的滴答拍攝影設計與實現 開發語言:Java數據庫:MySQL技術:SpringbootMybatis工具:IDEA、Maven、Navicat 系統展示 用戶登錄 首頁 攝影作品 攝影服務 攝影論壇 后臺登錄 后臺首頁 用戶管理 攝影師管理 攝影作…

YOLOv8小白中的小白安裝環境教程!沒一個字廢話,看一遍不踩坑!

文章目錄 去哪里下代碼?怎么下代碼?怎么裝環境?命令行界面(CLI)指令和Python腳本區別?附錄1 conda常用指令附錄2 git常用指令附錄3 項目代碼文件作用 去哪里下代碼? 下載代碼請大家直接去 YOLOv8的官方倉庫下載&#…