sql - 如何计算相同的字段
问题描述
我正在查询以获取案件的阶段。所以现在我有 3 个阶段的三个案例(最后一个阶段插入到表 user_case_stage 中)。
SELECT DISTINCT ON (c.id)
c.id,
f.name
FROM schema.user a
JOIN schema.intern_user b ON a.id = b."userId"
JOIN schema.user_case c ON b.id = c."internUserId"
JOIN schema.user_case_stage d ON c.id = d."userCaseId"
JOIN schema.stage f ON d."stageId" = f.id
WHERE b.id = 1
ORDER BY c.id,d."createdAt" DESC
结果:
caseId stageName
1 "Pasive"
6 "Closed"
7 "Closed"
但我希望像这样按 stageName 计算一些东西:
total stageName
1 "Pasive"
2 "Closed"
解决方案
假设你的逻辑是正确的,因为你没有提供任何信息,你可以这样做:
SELECT
f.name
, count(distinct c.id) total
FROM schema.user a
JOIN schema.intern_user b ON a.id = b."userId"
JOIN schema.user_case c ON b.id = c."internUserId"
JOIN schema.user_case_stage d ON c.id = d."userCaseId"
JOIN schema.stage f ON d."stageId" = f.id
WHERE b.id = 1
group by f.name
推荐阅读
- python - Beautifulsoup 收到超时消息
- django - 有没有办法在 django-ckeditor 中添加新皮肤?
- react-native - 如何在 React Native 中使用 SignalR?
- java - 如何在 EditText 字段上显示错误消息之前添加延迟?
- rpa - Azure 计算机视觉 API - 表格格式的 OCR 图像到文本
- javascript - 使用 PlacesService 反转地点 ID
- python - 如何将kanboard与电报集成?
- tensorflow - Tensorflow - 固定卷积核
- apache-spark - 加入性能问题:数据帧与应用了 UDF 的相同数据帧
- informatica - 有人可以帮助我了解不同的 informatica 查找缓存吗?