有什么方法可以为每一行使用COUNT
和返回一COUNT
列。如果我要使用GROUP BY
它,每个值只会返回 1 行。我希望它显示重复项。
示例数据:
城市
西雅图
达拉斯
西雅图
纽约
波士顿
波士顿
波特兰
我想返回:
西雅图 2
达拉斯 1
西雅图 2
纽约 1
波士顿 2
波士顿 2
波特兰 1
有什么方法可以为每一行使用COUNT
和返回一COUNT
列。如果我要使用GROUP BY
它,每个值只会返回 1 行。我希望它显示重复项。
示例数据:
城市
西雅图
达拉斯
西雅图
纽约
波士顿
波士顿
波特兰
我想返回:
西雅图 2
达拉斯 1
西雅图 2
纽约 1
波士顿 2
波士顿 2
波特兰 1
你可以使用correlated subquery
.
SELECT a.City,
(SELECT COUNT(*) FROM tableName b WHERE a.City = b.City) totalCount
FROM tableName a
您可以使用以下子查询连接原始表GROUP BY
:
SELECT t1.city, citycount
FROM myTable t1
JOIN (SELECT city, COUNT(city) citycount
FROM myTable
GROUP BY city) t2
USING (city)