MySQL-选择COUNT(*)和相同的ID

时间:2019-05-06 02:58:24

标签: mysql count id

按照标题,我想对一个表中的行进行计数,但是如果多行具有相同的ID,则应将它们计为一个行。

例如,我有一个名为my_table的表。

下面是数据:

enter image description here

好,假设我运行以下查询:SELECT COUNT(*) AS cnt FROM my_table;

结果将是 cnt = 6 ..

但是我不要。

我要实现的是cnt应该是4,因为具有相同ID的多行应计为一个。.

p / s:对不起,我的英语不好。

2 个答案:

答案 0 :(得分:1)

COUNT(DISTINCT(id)) 
SELECT COUNT(DISTINCT(ID_NO)) AS cnt FROM my_table;

在这种情况下会为您提供帮助。

答案 1 :(得分:1)

使用distinct关键字。没有像count(distinct *)这样的有效表达式,因此您必须指定一个特定的列。

select count(distinct ID_NO) from my_table

请注意,您也可以有多个count语句。喜欢: select count(distinct ID_NO), count(distinct ROW_NO) from my_table;