有没有办法使用COUNT
并为每行返回COUNT
列。如果我使用GROUP BY
,则每个值只返回1行。我希望它显示重复项。
示例数据:
城市的
西雅图
达拉斯
西雅图
纽约
波士顿
波士顿
波特兰
我想回复:
西雅图2
达拉斯1
西雅图2
纽约1
波士顿2
波士顿2
波特兰1
答案 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)