📜  SQL – 使用 GROUP BY 计算列中每个唯一条目的行数

📅  最后修改于: 2022-05-13 01:54:29.903000             🧑  作者: Mango

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;

输出: