MYSQL COUNT返回重复的行

时间:2013-07-26 19:54:38

标签: mysql

有没有办法使用COUNT并为每行返回COUNT列。如果我使用GROUP BY,则每个值只返回1行。我希望它显示重复项。

示例数据:

城市
西雅图
达拉斯
西雅图
纽约
波士顿
波士顿
波特兰

我想回复:
西雅图2
达拉斯1 西雅图2
纽约1
波士顿2
波士顿2
波特兰1

2 个答案:

答案 0 :(得分:3)

您可以使用correlated subquery

SELECT  a.City,
        (SELECT COUNT(*) FROM tableName b WHERE a.City = b.City) totalCount
FROM    tableName a

答案 1 :(得分:2)

您可以使用使用GROUP BY的子查询加入原始表:

SELECT t1.city, citycount
FROM myTable t1
JOIN (SELECT city, COUNT(city) citycount
      FROM myTable
      GROUP BY city) t2
USING (city)

SQLFIDDLE