일단 반별로 니깐 말 그대로 반별로 그룹을 지워 주어야 겠죠..
그리고 학생수의 합인데 count보다는 sum이 낫겠군요...
count를 해도 마찬 가지 이겠지만...
SQL> select class, count(stu_id)
from student
order by count(stu_id) desc;
위 의 문장을 아래와 같이 고치심이
SQL> select class, sum(1)
from student
group by class
ordet by count(stu_id) desc;
이렇게 하면 될것 같네요...
좋은 하루 되세요...
>>lala 님께서 쓰시길<<
:: 예를 들어 학생테이블에 반 필드가 있다고 하면,
:: 반별로 학생수의 합이 큰 순서로 찍을 수가 있나요?
::
:: 학생테이블(student)
:: stu_id class
:: ====================================================
:: 110810 1반
:: 110811 1반
:: 120340 2반
:: :
:: :
::
:: 출력예)
:: class count(stu_id)
:: ========================
:: 3반 50명
:: 8반 49명
:: 1반 47명
:: :
:: :
:: select count(stu_id) from student order by count(stu_id) desc;
:: 요렇게 하면
:: 50
:: 49
:: 47
:: :
:: 이렇게 나오긴 하지만 몇반인지 모르니까 문제인데..
:: 반도 같이 나오게 하려면 쿼리를 어떻게 날려야 할까요?
::
:: select class, count(stu_id) from student order by count(stu_id) desc;
:: 요렇게 하면
:: not a single-group group function 이라고 에러 나오던데..
::
::
:: 제발 어떻게 하는지 가르쳐주세요..T_T
|