关于圆函数问题

时间:2014-02-21 21:37:42

标签: php mysql sql

我试图对interview_sumother_sumedu_attain2_sumexperience2_sumtrainings2_sumeligibility2_sum的所有结果求和。 / p>

使用这行代码:但是当我运行查询时,我在这行中出错了......任何人都可以帮我解决错误吗?

ROUND(SUM(interview_sum,other_sum,edu_attain2_sum,experience2_sum,trainings2_sum,eligibility2_sum)) AS final_total_sum,

当前查询:

    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,

    ROUND(SUM(interview_sum,other_sum,edu_attain2_sum,experience2_sum,trainings2_sum,eligibility2_sum)) AS final_total_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 t.uniq_id = 'ADAS3-1493-2013'
    GROUP BY t.atname HAVING COUNT(DISTINCT t.atic)

2 个答案:

答案 0 :(得分:1)

SUM只接受一个表达式作为参数。你需要这样做:

SUM(field1 + field2 + field3 + ....)

答案 1 :(得分:1)

只需使用+

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 t.uniq_id = 'ADAS3-1493-2013'
    GROUP BY t.atname 
    HAVING COUNT(DISTINCT t.atic)) subq