sql語句查詢老師學生記錄大於1的條數
阿新 • • 發佈:2019-02-06
這是teacher表結構,查詢每個老師student這個欄位存在資料庫的記錄數,過濾出大於2的記錄
1.
這個就過濾出了,存在student記錄數大於1的老師名與記錄條數
SELECT `name`,COUNT(student) FROM teacher GROUP BY `name` HAVING COUNT(student)>1
結果
修改成2
SELECT `name`,COUNT(student) FROM teacher GROUP BY `name` HAVING COUNT(student)>2
結果
2.
select temp.nm,temp.st FROM (SELECT `name` as nm ,COUNT(`student`) as st FROM teacher GROUP BY `name`) as temp where temp.st>1;
結果
3.這種是,查詢出每個老師存在幾條記錄,最後結果有幾條記錄,相當於把學生記錄數大於2的老師總數查詢出來了。
select count(1) from (select count(`name`) from teacher group by `name` having count(*)>=2) as t ;
4.查詢出每個老師對應的,所有學生總和
SELECT `name` ,sum(student) FROM teacher GROUP BY `name`
表結構
DROP TABLE IF EXISTS `teacher`; CREATE TABLE `teacher` ( `name` varchar(255) DEFAULT NULL, `class` int(10) DEFAULT NULL, `student` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of teacher -- ---------------------------- INSERT INTO `teacher` VALUES ('zhangsan', '1', '2'); INSERT INTO `teacher` VALUES ('lisi', '1', '5'); INSERT INTO `teacher` VALUES ('lisi', '2', '3'); INSERT INTO `teacher` VALUES ('zhangsan', '8', '6'); INSERT INTO `teacher` VALUES ('zhangsab', '5', '1'); INSERT INTO `teacher` VALUES ('lisi', '6', '1');