Mysql 如何计算所有标题的总和,即使其他标题是空的
我的查询目标是对(3)个表中的所有字段求和,但如果其他标题为空,我在生成Mysql 如何计算所有标题的总和,即使其他标题是空的,mysql,sql,Mysql,Sql,我的查询目标是对(3)个表中的所有字段求和,但如果其他标题为空,我在生成final\u total\u sum输出时遇到一些问题,final\u total\u sum为空……但是如果所有标题都不为空,我的查询将生成final\u total\u sum(输出) 我想做的是,即使其他标题是空的,我的查询仍然可以生成一个final\u total\u sum(output) 当前查询: SELECT *, ROUND(interview_sum + other_sum
final\u total\u sum
输出时遇到一些问题,final\u total\u sum
为空……但是如果所有标题
都不为空,我的查询将生成final\u total\u sum(输出)
我想做的是,即使其他标题是空的,我的查询仍然可以生成一个final\u total\u sum(output)
当前查询:
SELECT *,
ROUND(interview_sum +
other_sum +
edu_attain2_sum +
experience2_sum +
trainings2_sum +
eligibility2_sum) AS final_total_sum
FROM (
SELECT
ROUND((SELECT SUM(t2.inttotal)
FROM app_interview2 AS t2
WHERE t2.atic = t.atic)/7,1)
AS interview_sum,
ROUND((SELECT SUM(o2.ototal)
FROM other_app2 AS o2
WHERE o2.oaic = t.atic)/7,1)
AS other_sum,
ROUND((SELECT SUM(s1.edu_attain2)
FROM qual_stan2 AS s1
WHERE s1.oaic2 = t.atic)/7,1)
AS edu_attain2_sum,
ROUND((SELECT SUM(s2.experience2)
FROM qual_stan2 AS s2
WHERE s2.oaic2 = t.atic)/7,1)
AS experience2_sum,
ROUND((SELECT SUM(s3.trainings2)
FROM qual_stan2 AS s3
WHERE s3.oaic2 = t.atic)/7,1)
AS trainings2_sum,
ROUND((SELECT SUM(s4.eligibility2)
FROM qual_stan2 AS s4
WHERE s4.oaic2 = t.atic)/7,1)
AS eligibility2_sum,
t.atid,
t.atic,
t.atname,
t.region,
t.town,
t.uniq_id,
t.position,
t.salary_grade,
t.salary
FROM app_interview2 AS t
WHERE uniq_id = '$q'
GROUP BY t.atname
HAVING COUNT(DISTINCT t.atic)) subq
使用like SUM(ifnull(t2.inttotal,0))尝试:
ROUND( ifnull(interview_sum,0) +
ifnull(other_sum,0) +
ifnull(edu_attain2_sum,0) +
ifnull(experience2_sum,0) +
ifnull(trainings2_sum,0) +
ifnull(eligibility2_sum,0)) AS final_total_sum
在SQL
x+NULL
中,总是给出NULL,ifnull
函数将NULL转换为0不工作…如果某些标题为空,我的最终总和仍然为空。