不同记录的计数 - SQL
empid projectId TaskID
100 500 1
100 501 1
100 502 1
101 500 2
101 500 5
101 500 1
102 400 1
103 300 2
104 300 2
105 300 2
我试图根据项目 id 列出仅从事多个项目的员工。 我尝试了 unique 和 GROUP BY 。但我无法准确地计算出来。
从上表中我期待这样的结果
empid projectId
100 500
100 501
100 502
empid projectId TaskID
100 500 1
100 501 1
100 502 1
101 500 2
101 500 5
101 500 1
102 400 1
103 300 2
104 300 2
105 300 2
I am trying to list the employees who works on multiple project only, based on project id .
I tried distinct and GROUP BY . but am not able figure it exactly.
from the above table am expecting a result like this
empid projectId
100 500
100 501
100 502
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个(修订后的代码)
这应该会给你
编辑为OPs添加的内容在评论中附加问题
给出你不同的ProjectIds的计数将意味着GROUP BY将处于
EmpId
级别且无需子查询要获取具有多个项目的所有员工的项目计数,请执行以下操作
Try this (revised code)
This should give you
Edit Content added for OPs additional question in the comments
A count giving you distint ProjectIds would mean that the GROUP BY would be at an
EmpId
level and no need for a subqueryTo get a count of projects for all employees with multiple projects, do the following
您还可以使用窗口
COUNT()
:参考资料:
OLAP 函数
WITH 子句
You could also use a windowed
COUNT()
:References:
OLAP functions
WITH clause