按照标题,我想对一个表中的行进行计数,但是如果多行具有相同的ID,则应将它们计为一个行。
例如,我有一个名为my_table
的表。
下面是数据:
好,假设我运行以下查询:SELECT COUNT(*) AS cnt FROM my_table;
结果将是
cnt = 6
..
但是我不要。
我要实现的是cnt
应该是4
,因为具有相同ID的多行应计为一个。.
p / s:对不起,我的英语不好。
答案 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;