728x90
select students.first_name, ifnull(avg(papers.grade),0) as average,
case
when avg(papers.grade) >= 80 then 'PASSING'
else 'FALLING'
end as passing_status
from students
left join papers
on students.id = papers.student_id
group by students.first_name
order by average desc;
- 맨위에서 as average를 사용하여 컬럼명을 바꿨다 하더라도
- 밑에 case 문의 avg 부분을 바꾼 컬럼명인 average로 넣어서 사용할 수 없다.
- 실행순서가 모두 동일하기에 인식하지 못한다.
'MySQL_Workbench' 카테고리의 다른 글
MySQL에서 if 함수 사용법 (0) | 2021.12.10 |
---|---|
MySQL round, floor 함수(반올림, 버림) (0) | 2021.12.10 |
MySQL ifnull 함수 사용법 (0) | 2021.12.09 |
MySQL case문 작성법 (0) | 2021.12.09 |
MySQL에서, 값이 null 인지 확인 할 때는, is null 사용 (0) | 2021.12.09 |