在SQL中结合FREQUENCY计数和INNER CASE

时间:2017-07-17 11:14:03

标签: sql inner-join oracle-apex frequency

如何为超过6名学生的班级显示学生姓名(sname)和科目编号(sectno),我如何组合?到目前为止我有这个

SELECT student.sname, enroll.sectno,

FROM student

INNER JOIN enroll 

ON student.sid=enroll.sid

SELECT grade, 

COUNT(grade)AS Frequency

FROM enroll

GROUP BY grade

HAVING COUNT(grade)>6

2 个答案:

答案 0 :(得分:0)

看起来你非常接近。我认为以下内容适合您:

badgeValue

答案 1 :(得分:0)

在你的2md选择与一个有6个以上学生的班级没有任何关系,恕我贺署,GROUP BY应该基于classid这样的列。然后你可以简单地使用 Windowed Aggregate

组合两者
with cte as
 (
   SELECT student.sname, enroll.sectno, 
      -- get the count per class, might be a different column than sectno
      count(*) over (partition by enroll.sectno) as cnt
   FROM student
   INNER JOIN enroll 
   ON student.sid=enroll.sid
 ) 
select * from cte
where cnt > 6