如何解决sql获取分配给每个id的案例数
我的sql输出应该看起来像
AssignedTo Cases
Larry 3
Tom 1
Henry 1
我有3张桌子。关系
select
CASE
WHEN r.id = 30 THEN r.name
ELSE r.name
|| ' '
|| u.b_id
END
AS assignedto,count(*) as cases
from cases c,users u,roles r
where c.id = u.b_id and
c.assigned_to = u.id and
u.role_id = r.id
and c.b_id = 40
group by c.assigned_to;
解决方法
您只需要简单的COUNT()
聚合
SELECT assigned_to,COUNT(*) AS cases
FROM tab
GROUP BY assigned_to
更新:
在这种情况下(为了包括另一个表中的名称),请使用带有[INNER] JOIN
的Select语句:
SELECT u.name AS assignedto,COUNT(*) AS cases
FROM cases c
JOIN users u
ON u.id = c.assigned_to
GROUP BY u.name
,
选择Count ...按ID分组,分配给。
,使用COUNT进行汇总,然后使用GROUP BY将汇总分配给组。
<ul class="container">
<li class="draggable" draggable="true"><span>0</span> Colorado</li>
<li class="draggable" draggable="true"><span>1</span> Montana</li>
<li class="draggable" draggable="true"><span>2</span> Utah</li>
<li class="draggable" draggable="true"><span>3</span> Montana</li>
<li class="draggable" draggable="true"><span>4</span> Wyoming</li>
</ul>
<ul class="container">
<li class="draggable" draggable="true"><span>0</span> Maine</li>
<li class="draggable" draggable="true"><span>1</span> North Carolina</li>
<li class="draggable" draggable="true"><span>2</span> Florida</li>
<li class="draggable" draggable="true"><span>3</span> Virginia</li>
<li class="draggable" draggable="true"><span>4</span> New York</li>
</ul>
,
您可以使用功能COUNT
。
COUNT()函数返回与指定条件匹配的行数。 GROUP BY
子句将记录分组为摘要行。
GROUP BY语句通常与聚合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,以将结果集按一列或多列分组。
Select AssignedTo,count (*) as cases from table group by AssignedTo
,
select id,sum(assigned_to) as Cases from s1 group by id;
id Cases
1 29232
2 7654
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。