如何在 MySQL 中返回非重复值及其计数?


若要仅返回非重复值,请使用 GROUP BY 子句。

我们首先创建一个表 −

mysql> create table DemoTable754 (ProductPrice int);
Query OK, 0 rows affected (0.48 sec)

使用插入命令在表中插入一些记录 −

mysql> insert into DemoTable754 values(200);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable754 values(500);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable754 values(200);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable754 values(500);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable754 values(800);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable754 values(900);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable754 values(200);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable754 values(200);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable754 values(900);
Query OK, 1 row affected (0.11 sec)

使用 select 语句在表中显示所有记录 −

mysql> select *from DemoTable754;

这将产生以下输出 -

+--------------+
| ProductPrice |
+--------------+
|          200 |
|          500 |
|          200 |
|          500 |
|          800 |
|          900 |
|          200 |
|          200 |
|          900 |
+--------------+
9 rows in set (0.00 sec)

以下是返回非重复值及其计数的查询 −

mysql> select ProductPrice,count(ProductPrice) from DemoTable754 group by ProductPrice;

这将产生以下输出 -

+--------------+---------------------+
| ProductPrice | count(ProductPrice) |
+--------------+---------------------+
|          200 |                   4 |
|          500 |                   2 |
|          800 |                   1 |
|          900 |                   2 |
+--------------+---------------------+
4 rows in set (0.00 sec)

更新日期: 2019-09-03

305 次浏览

开启您的 职业

完成课程以获得认证

开始学习
广告
© . All rights reserved.