points表
users表
附上建表sql(如果你想嘗試)
CREATE TABLE `points` (
`id` int(11) NOT NULL,
`flag` int(11) DEFAULT NULL,
`point` int(11) DEFAULT NULL,
`number` bigint(11) DEFAULT NULL,
`time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`number` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1、先從簡單的開始,查詢平均point
SELECT
p.number,
AVG(p.point)
FROM
points p,
users u
WHERE
p.number = u.number
GROUP BY
p.number;
2、加入Having
SELECT
p.number,
AVG(p.point)
FROM
points p,
users u
WHERE
p.number = u.number
GROUP BY
p.number
HAVING
AVG(p.point >=6.5);
3、改爲輸出number和count(*)
SELECT
p.number,
COUNT(*)
FROM
points p,
users u
WHERE
p.number = u.number
GROUP BY
p.number
HAVING
AVG(p.point >=6.5);
PS:確實就是1條數據,自己嘗試了下該數據也是正確的。