SELECT thename,sum(thescore) FROM name_subject_score GROUP BY thename HAVING SUM(thescore) > 186 先算出sum的值,在在having中进行筛选,得出结果SELECT thename,COUNT(1) FROM name_subject_score GROUP BY thename HAVING SUM(thescore) > 186 count(1) 是以thename进行分组,得出每个人有多少科.在进行having筛选.SELECT COUNT(1) FROM (SELECT COUNT(1) FROM name_subject_score GROUP BY thename HAVING SUM(thescore) > 186 ) 直接数数了得出结果= = 感觉怪怪的呢?怎么得出结果直接为2?
这是select * 的结果这是SELECT thename, SUM(thescore) FROM name_subject_score GROUP BY thename
就是怎么写出总分大于186的总人数.还有我以上的想法(橙色部分)对吗?Oracle语句