如何在MySQL中返回不同的值及其计数?

要仅返回不同的值,请使用GROUP BY子句。

让我们首先创建一个表-

mysql> create table DemoTable754 (ProductPrice int);

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

mysql> insert into DemoTable754 values(200);
mysql> insert into DemoTable754 values(500);
mysql> insert into DemoTable754 values(200);
mysql> insert into DemoTable754 values(500);
mysql> insert into DemoTable754 values(800);
mysql> insert into DemoTable754 values(900);
mysql> insert into DemoTable754 values(200);
mysql> insert into DemoTable754 values(200);
mysql> insert into DemoTable754 values(900);

使用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)