我只想问你这个关于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/

10-15 20:47