sql語句中 having與where區別
阿新 • • 發佈:2019-01-11
HAVING語句通常與GROUP BY語句聯合使用,用來過濾由GROUP BY語句返回的記錄集。
HAVING語句的存在彌補了WHERE關鍵字不能與聚合函式聯合使用的不足。
CREATE TABLE `tp5_student` (
`id` int(11) DEFAULT NULL,
`no` int(11) DEFAULT NULL COMMENT '學號',
`course` varchar(255) DEFAULT NULL COMMENT '課程',
`score` int(11) DEFAULT NULL COMMENT '分數'
) ENGINE=InnoDB DEFAULT CHARSET=utf8
SELECT id,no, COUNT(course) as numcourse, AVG(score) as avgscore
FROM tp5_student
GROUP BY no
SELECT id,no, COUNT(course) as numcourse, AVG(score) as avgscore
FROM tp5_student
GROUP BY no HAVING AVG(score)>=85
SELECT id,no, COUNT(course) as numcourse, AVG(score) as avgscore
FROM tp5_student
WHERE id>3
GROUP BY no