? ? ? ?在 MySQL 中,聚合和分組是用于對數據進行匯總和分析的強大功能。聚合函數可以計算數據的總和、平均值、最小值、最大值等統計信息,而分組則可以將數據按照特定的字段進行分組,然后對每個分組進行聚合計算。計數(COUNT() 函數)是聚合函數中的一種,用于統計滿足指定條件的行數。
以下是一些關于聚合和分組、計數的知識點和示例:
一、聚合函數:
1. SUM():計算指定列的總和。
2. AVG():計算指定列的平均值。
3. MAX():返回指定列中的最大值。
4. MIN():返回指定列中的最小值。
5. COUNT():統計滿足指定條件的行數。
二、分組:
使用 'GROUP BY'?子句可以將數據按照指定的字段進行分組。例如:
SELECT column1, AGGREGATE_FUNCTION(column2)FROM tableGROUP BY column1;
在上述示例中,'column1'?是用于分組的字段,'AGGREGATE_FUNCTION'?是聚合函數,'column2'?是要聚合的字段。
三、計數(COUNT() 函數):
COUNT() 函數有多種用法:
1. 'COUNT(*)':返回表中的行數,無論行中包含多少個空值。
2. 'COUNT(column_name)':返回指定列中非空值的行數。
四、示例:
假設有一個名為 'sales'?的表,其中包含 'salesperson_id'、'sales_amount'?和 `'sale_date'?等字段。以下是一些聚合和分組、計數的示例查詢:
1. 查詢銷售總額:
SELECT SUM(sales_amount) AS total_salesFROM sales;
2. 查詢平均銷售金額:
SELECT AVG(sales_amount) AS average_salesFROM sales;
3. 查詢最高銷售金額:
SELECT MAX(sales_amount) AS highest_salesFROM sales;
4. 查詢最低銷售金額:
SELECT MIN(sales_amount) AS lowest_salesFROM sales;
5. 查詢銷售記錄的總行數:
SELECT COUNT(*) AS total_recordsFROM sales;
6. 按照銷售人員進行分組,并計算每個銷售人員的銷售總額:
SELECT salesperson_id, SUM(sales_amount) AS total_sales_by_personFROM salesGROUP BY salesperson_id;
7. 按照日期進行分組,并計算每天的銷售總額:
SELECT sale_date, SUM(sales_amount) AS total_sales_by_dateFROM salesGROUP BY sale_date;
? ? ? ?通過這些示例,可以看到如何使用聚合函數和分組來獲取數據的匯總信息。根據具體的需求,可以選擇合適的聚合函數和分組方式來進行數據分析和探索。
(文章為作者在學習MySQL過程中的一些個人體會總結和借鑒,如有不當、錯誤的地方,請各位大佬批評指正,定當努力改正,如有侵權請聯系作者刪帖。)