在 MySQL 中計算表的行數

Raymond Peter 2023年1月30日
  1. 計算 MySQL 表中的所有行
  2. 在 MySQL 中新增條件以計算行數
在 MySQL 中計算表的行數

本教程文章將向你展示如何檢索 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 模式已關閉。

相關文章 - MySQL Table