在 MySQL 中计算表的行数
本教程文章将向你展示如何检索 MySQL 表中的记录数。我们还将向你展示如何应用条件来计算符合特定条件的行。
计算 MySQL 表中的所有行
要检索表中的记录计数,我们可以进行以下简单查询。
SELECTCOUNT(*)FROM'table name';
只要至少一列中有值,它将计算表中的所有行。
注意
以下仅是如何实现各种方法的示例。它们不作为数据的实际记录。
添加表的名称 supermarkets
以计算记录数。在这种情况下,我们希望计算加州的超市数量。
SELECTCOUNT(*)FROMsupermarkets;
结果:
| ROW COUNT |
| :-------- |
| 4699 |
在 MySQL 中添加条件以计算行数
你可以添加更多条件来指定要计算的行数。这在查找具有大型表的特定数据时很有帮助。
计数表达式
使用 Count(expression)
计算指定列中没有空格的总行数。
SELECTCOUNT(city)FROMsupermarkets;
结果:
| Row Count |
| --------- |
| 4697 |
删除城市列中带有空格的行时,总计数有 2 行的差异。这一结果将提供更准确的加州超市数量。
使用 Where 指定值
你还可以通过以下指定来计算一个城市的超市数量。
SELECTCOUNT(*)FROMsupermarketsWHEREcity='San Diego'
结果:
| Row Count |
| --------- |
| 896 |
它指定了圣地亚哥市内的超市数量。
按值分组
要计算每个城市的超市数量,请选择要用于分组的列,在本例中为城市,并将其放在 SELECT
之后。在表名后使用 GROUP BY
语句来确定要使用哪一列对数据进行分组。
SELECTcity,COUNT(*)FROMsupermarketsGROUPBYcity;
结果:
| city | Count |
| ------------- | ----- |
| Los Angeles | 2777 |
| San Francisco | 1024 |
| San Diego | 896 |
所有三个城市的总值为 4,697,与初始 count(expression)
语句中的值相匹配。
注意
确保删除 MySQL 中的
ONLY_FULL_GROUP_BY
模式已关闭。声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。