这是我部门某人的要求,但是我很难在列中同时包含发生的总次数和行数。
为了简单起见,如下表:
Name Location
Dave Ohio
Sam Ohio
James Virginia
Fred Idaho
Cindy Virginia
John Ohio
但是我需要它看起来像这样:
Name Location Total
Dave Ohio 3
Sam Ohio 3
John Ohio 3
James Virginia 2
Cindy Virginia 2
Fred Idaho 1
所以我的尝试:
select Name, Location, count(Location) as 'Total'
from table1
group by Location
给我
Name Location Total
Fred Idaho 1
Dave Ohio 1
John Ohio 1
Sam Ohio 1
Cindy Virginia 1
James Virginia 1
最佳答案
您可以使用窗口功能
select distinct name, location, count(*) over(partition by location)
from table1
这适用于
MySQL >= 8
关于mysql - SQL对出现的次数进行计数,同时仍具有所有行值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51143844/