根据 SQL 中另一列的 2 个变量对一列进行不同计数
Count distinct of a column based on 2 variables of another column in SQL
如何根据 SQL 中另一列的 2 个变量获取一列的不同计数?
EX:
EMP ID DEPT
22 fire
21 Safety
22 Safety
26 fire
22 audit
32 actuary
44 fire
44 safety
26 safety
我需要消防和安全部门的不同数量的 emp id。这里的答案应该是 3(22,26 AND 44)。你能告诉我 SQL 查询这个的最佳方法吗?
这是一种方法:
SELECT COUNT(*) FROM (
SELECT 1 dd
FROM tablename
WHERE dept in ('fire','safety')
GROUP BY empid
HAVING COUNT(DISTINCT dept) = 2
) t
如果您想要不同的 empids 列表:
SELECT empid
FROM tablename
WHERE dept in ('fire','safety')
GROUP BY empid
HAVING COUNT(DISTINCT dept) = 2
如何根据 SQL 中另一列的 2 个变量获取一列的不同计数?
EX:
EMP ID DEPT
22 fire
21 Safety
22 Safety
26 fire
22 audit
32 actuary
44 fire
44 safety
26 safety
我需要消防和安全部门的不同数量的 emp id。这里的答案应该是 3(22,26 AND 44)。你能告诉我 SQL 查询这个的最佳方法吗?
这是一种方法:
SELECT COUNT(*) FROM (
SELECT 1 dd
FROM tablename
WHERE dept in ('fire','safety')
GROUP BY empid
HAVING COUNT(DISTINCT dept) = 2
) t
如果您想要不同的 empids 列表:
SELECT empid
FROM tablename
WHERE dept in ('fire','safety')
GROUP BY empid
HAVING COUNT(DISTINCT dept) = 2