MySql先分組統計總記錄數,再獲取記錄數中的最大值

熊博士的煩惱發表於2020-11-03

MySql先分組統計總記錄數,再獲取記錄數中的最大值

資料陳列

查詢語句

SELECT MAX(a.cou) FROM (SELECT COUNT(score) AS cou FROM test1 GROUP BY NAME) a

在這裡插入圖片描述
語句解析:
1、首先統計總記錄數的查詢語句

select count(score) from test1;

在這裡插入圖片描述

2、統計出來的總記錄數進行分組

SELECT NAME,COUNT(score) FROM test1 GROUP BY NAME

在這裡插入圖片描述
3、獲取分組後,記錄數最大的值

SELECT MAX(a.cou) FROM (SELECT COUNT(score) AS cou FROM test1 GROUP BY NAME) a
/**
說明:
將統計出來的記錄數,起別名為cou
將分組後的資料起別名為a
a.cou指的就是統計後在分組的資料(相當於第2步)
最後通過max函式,取出a.cou裡面的最大值
*/

在這裡插入圖片描述

相關文章