查询选择所有记录并计算相同的值?

时间:2011-05-02 11:57:49

标签: sql

此表:

name | city
 --------
john   na
mary   ny
mary   in

是否存在返回所有记录和计数名称重复的查询?

查询结果:

name | count(name)
 john   1
 mary   2
 mary   2

由于

3 个答案:

答案 0 :(得分:2)

select o.name "Name", 
   (select count(*) from table_name i where i.name = o.name) "Count"
from table_name o;

答案 1 :(得分:1)

如果您的RDBMS支持窗口聚合函数。

SELECT name, 
       COUNT(*) OVER (PARTITION BY name)
FROM YourTable

答案 2 :(得分:0)

SELECT name,
 COUNT(name) AS cnt
FROM table_name
GROUP BY name;