在使用MySQL數(shù)據(jù)庫時,經(jīng)常會遇到一個錯誤提示:Invalid use of group function。意思是沒有正確使用group function。當(dāng)查詢的結(jié)果指代不明,或者和接受結(jié)果的變量數(shù)據(jù)類型不匹配時,都會導(dǎo)致這個錯誤提示。因此,遇到這個錯誤時,首先就考慮這兩個地方有沒有出問題。
代碼示例:
-- 原來的代碼
DELIMITER $
CREATE PROCEDURE test_1(INOUT n DOUBLE)
BEGIN
SELECT cou.couName,AVG(s.score)
FROM course cou,score s
WHERE cou.couName='masql' AND cou.examTime='2014-04-04'AND s.courseId=cou.id;
SELECT n;
SET n=AVG(s.score);
END $
SET @n=0.00;
CALL test_1(@n); -- 由于查詢結(jié)果指代不明,會提示Invalid use of group function。SELECT @n;
-- 修改后的代碼
DELIMITER $
CREATE PROCEDURE test_2(INOUT n DOUBLE)
BEGIN
SELECT cou.couName,AVG(s.score)
FROM course cou,score s
WHERE cou.couName='masql' AND cou.examTime='2014-04-04'AND s.courseId=cou.id;
SELECT n;
SET n=(SELECT AVG(s.score)
FROM course cou,score s
WHERE cou.couName='masql' AND cou.examTime='2014-04-04'AND s.courseId=cou.id );
END $
SET @n=0.00;
CALL test_2(@n); -- 結(jié)果正常
SELECT @n;
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!








暫無數(shù)據(jù)