我只想问你这个关于SQL的问题。
让我们考虑一下这个EMPLOYEE表:
Employee Department
A 10
A 10
A 11
A 12
B 13
B 13
我要显示的是每个员工、所有不同的部门(没有重复)以及这些不同部门的总数。所以,就像这样:
Employee Department total_dept
A 10 3
A 11 3
A 12 3
B 13 1
如果可能的话,我更喜欢这样的:
Employee Department total_dept
A 10 3
A 11 null
A 12 null
B 13 1
我有一个很大的表(有很多列和很多数据),所以我认为这是一个“优化”,不是吗?我的意思是,没有必要把全员服装放在所有的行里。只要够了就放吧。没问题,如果在这之后我把栏空了。但我不知道在SQL中是否可以做这样的事情。
那么,我该怎么解决这个问题呢?我试过了,但似乎不可能把count(column)和同一个column组合起来。。。
提前谢谢你
最佳答案
这可能就是你要找的
SELECT
emp,
dept,
(select count(distinct dept) from TB as tbi where tb.emp = tbi.emp ) x
FROM TB
group by emp, dept;
关于mysql - 在SQL上显示列值及其计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53917365/