在 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