0
嘿,我在轨道应用中使用这个查询。我正在尝试查找唯一员工的数量,因此我创建了一个查询,查找有多少个total_employees
,然后找出有多少个duplicates
(duplicates
是使用id_number
制定的)。然后我从total_employees
中减去duplicates
,给我独特个体的数量。该id_number
字段不是强制性的,因此id_number
的空值应该不包含在计数中。删除空值的Rails/SQL语句
问题是,当我尝试运行查询,如果duplicates
为空unique_employees
将成为空。
这里是我的查询
SELECT SUM(total_count.count) - SUM(duplicate_count.count) as unique_employees, SUM(total_count.count), SUM(duplicate_count.count)
FROM (
SELECT COUNT(1) as count
FROM participants
JOIN training_programs
ON training_programs.id = participants.training_program_id
WHERE training_programs.category IN ('B', 'C', 'D')
AND training_programs.skills_development_id = 123
AND participants.foreign = FALSE
AND participants.race = 'African'
AND participants.gender = 'Male'
AND participants.employed = true
) as total_count,
(SELECT SUM(count) as count
FROM (SELECT COUNT(id_number)-1 AS count
FROM participants
JOIN training_programs
ON training_programs.id = participants.training_program_id
WHERE training_programs.category IN ('B', 'C', 'D')
AND training_programs.skills_development_id = 123
AND participants.foreign = FALSE
AND participants.race = 'African'
AND participants.gender = 'Male'
AND participants.employed = true
AND participants.id_number <> ''
GROUP BY id_number
HAVING COUNT(id_number) > 1) as duplicated_records
) as duplicate_count
,所以我得到这个
我SQL富没有在世界上最好的,所以我试图找出如何让所有空值被视为0.我还希望在单个查询中具有这一点,因为它是在循环中运行的,并且根据给定的输入,每次保存必须重新运行几十次。
或以上任何帮助将是伟大的。提前
编辑
谢谢如果我是添加一个重复的查询运行正常。所以查询是刚刚好,如果有没有重复那么无论total_empolyees数量的查询将返回0
哥们那确实产生空我在找什么!非常感谢。我整天碰到这堵墙 – TheLegend 2014-10-16 18:09:10
我编辑了问题名称以反映我遇到的实际问题。 – TheLegend 2014-10-16 18:10:49