在 MySQL 中計算表的行數
Raymond Peter
2023年1月30日
本教程文章將向你展示如何檢索 MySQL 表中的記錄數。我們還將向你展示如何應用條件來計算符合特定條件的行。
計算 MySQL 表中的所有行
要檢索表中的記錄計數,我們可以進行以下簡單查詢。
SELECT COUNT(*) FROM 'table name';
只要至少一列中有值,它將計算表中的所有行。
注意
以下僅是如何實現各種方法的示例。它們不作為資料的實際記錄。
新增表的名稱 supermarkets
以計算記錄數。在這種情況下,我們希望計算加州的超市數量。
SELECT COUNT(*) FROM supermarkets;
結果:
| ROW COUNT |
| :-------- |
| 4699 |
在 MySQL 中新增條件以計算行數
你可以新增更多條件來指定要計算的行數。這在查詢具有大型表的特定資料時很有幫助。
計數表示式
使用 Count(expression)
計算指定列中沒有空格的總行數。
SELECT COUNT(city) FROM supermarkets;
結果:
| Row Count |
| --------- |
| 4697 |
刪除城市列中帶有空格的行時,總計數有 2 行的差異。這一結果將提供更準確的加州超市數量。
使用 Where 指定值
你還可以通過以下指定來計算一個城市的超市數量。
SELECT COUNT(*) FROM supermarkets WHERE city = 'San Diego'
結果:
| Row Count |
| --------- |
| 896 |
它指定了聖地亞哥市內的超市數量。
按值分組
要計算每個城市的超市數量,請選擇要用於分組的列,在本例中為城市,並將其放在 SELECT
之後。在表名後使用 GROUP BY
語句來確定要使用哪一列對資料進行分組。
SELECT city, COUNT(*) FROM supermarkets GROUP BY city;
結果:
| city | Count |
| ------------- | ----- |
| Los Angeles | 2777 |
| San Francisco | 1024 |
| San Diego | 896 |
所有三個城市的總值為 4,697,與初始 count(expression)
語句中的值相匹配。
注意
確保刪除 MySQL 中的
ONLY_FULL_GROUP_BY
模式已關閉。