如何解决SQL:在单个结果行中进行组计数
试试这个:
SELECT id, name,
(SELECT COUNT(name)
FROM markers im
WHERE state like 'OR'
GROUP BY name
HAVING im.name=m.name) as count
FROM markers m
WHERE state like 'OR'
GROUP BY name, id
解决方法
当我运行查询编号1时:
SELECT id,name,COUNT(name) AS count
FROM markers
WHERE state like 'OR'
group by named
我得到以下结果:
id name count
14 Alsea 2
76 Applegate Valley 1
3 Ashland 9
64 Beaver 1
26 Bend 1
10 Carlton 2
很好,除了,我希望每个被计数名称的实例都以其各自的ID出现,如查询号2的结果所示:
SELECT id,COUNT(name) AS count
FROM markers
WHERE state like 'OR'
group by name,id
产生以下结果:
id name count
14 Alsea 1
28 Alsea 1
76 Applegate Valley 1
3 Ashland 1
13 Ashland 1
16 Ashland 1
20 Ashland 1
22 Ashland 1
43 Ashland 1
48 Ashland 1
51 Ashland 1
72 Ashland 1
64 Beaver 1
26 Bend 1
10 Carlton 1
27 Carlton 1
我是否可以运行一个查询,该查询将在每行中返回查询编号2的ID和名称以及查询编号1中的相应计数,如下所示?
id name count
14 Alsea 2
28 Alsea 2
76 Applegate Valley 1
3 Ashland 9
13 Ashland 9
16 Ashland 9
20 Ashland 9
22 Ashland 9
43 Ashland 9
48 Ashland 9
51 Ashland 9
72 Ashland 9
64 Beaver 1
26 Bend 1
10 Carlton 2
27 Carlton 2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。