SQL – 使用 GROUP BY 计算列中每个唯一条目的行数
在本文中,我们将看到如何使用 GROUP BY 来计算给定表中每个唯一条目的行数。使用 COUNT,不使用 GROUP BY 子句将返回表中存在的行数的总数。
添加 GROUP BY,我们可以计算列中每个唯一值的总出现次数。
现在,为了演示,请按照以下步骤操作:
第一步:创建数据库
我们可以使用以下命令创建一个名为 geeks 的数据库。
询问:
CREATE DATABASE geeks;
第 2 步:使用数据库
使用以下 SQL 语句将数据库上下文切换到 geeks:
USE geeks;
第 3 步:表定义
我们的极客数据库中有以下 demo_table。
询问:
CREATE TABLE demo_table(
NAME VARCHAR(20),
AGE int,
CITY VARCHAR(10));
第 4 步:向表中插入数据
询问:
INSERT INTO demo_table VALUES ('Romy',23,'Delhi'),
('Pushkar',23,'Delhi'),
('Nikhil',24,'Punjab'),
('Rinkle',23,'Punjab'),
('Samiksha',23,'Banglore'),
('Ashtha',24,'Banglore'),
('Satish',30,'Patna'),
('Girish',30,'Patna');
第五步:查看内容
执行以下查询以查看表的内容
SELECT * FROM demo_table;
输出:
第 6 步:在没有 ORDER BY 语句的情况下使用 COUNT
- COUNT(*) 计算所有行
- COUNT(column_name) 仅计算指定列名中的非 NULL。
语法(计算所有行):
SELECT COUNT(*)
FROM table_name;
询问:
SELECT COUNT(*) FROM demo_table;
输出:
结果是 8,因为我们的 demo_table 中有 8 个条目。
第 7 步:使用 GROUP BY
- 用于计算 AGE 列中的唯一值。
询问:
SELECT AGE, COUNT(*) as COUNT from demo_table GROUP BY AGE;
输出:
- 用于计算 CITY 列中的唯一值。
SELECT CITY,COUNT(*) as COUNT from demo_table GROUP BY CITY;
输出: