2012-10-20 80 views
1

我想计算的整体平均GPA为所有的学生在某一部门的总平均,这是我想出了,但它不能正常工作MySQL查询:多个表

COLUMN AVERAGE FORMAT 0.999 
SELECT AVG(GPA) "AVERAGE" 
FROM STUDENT 
WHERE (YEAR < 4) AND 
     (MAJOR LIKE '%ACCT%') AND 
     (MAJOR LIKE '%FINA%') AND 
     (MAJOR LIKE '%MGMT%') AND 
     (MAJOR LIKE '%AISY%') AND 
     (MAJOR LIKE '%MINS%') AND 
     (MAJOR LIKE '%SCMS%'); 

所以他们应该都是本科生,并且应该加入其中一个专业。

另外,作为一个额外的问题:是否有可能使用“GROUP BY ###和HAVING ###)如何

回答

0

这会给你平均为所有学生提供<年写这样的查询? 4在以下专业之一,我相信你的问题是使用AND代替OR的专业。这是不可能有学生在主要的名字匹配的所有字符串。

SELECT AVG(GPA) AS "AVERAGE" 
FROM STUDENT 
WHERE (YEAR < 4) 
    AND 
    (
     (MAJOR LIKE '%ACCT%') OR 
     (MAJOR LIKE '%FINA%') OR 
     (MAJOR LIKE '%MGMT%') OR 
     (MAJOR LIKE '%AISY%') OR 
     (MAJOR LIKE '%MINS%') OR 
     (MAJOR LIKE '%SCMS%') 
    )