Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- xml
- anymatch메서드
- awsconsole
- 리스트비교
- Java
- 널포인터에러
- mybatis
- Annotation
- AWS
- PostgreSQL
- list중복제거
- 중복제거
- 두개리스트비교
- instance생성
- 권한정책
- enum
- db
- 리스트합집합
- postgresql13
- Spring
- 리스트차집합
- WordPress
- 리스트교집합
- hashset
- route53
- wordpress블로그
- peer authentication 에러
- lightsail
- ansible
- 지옥같은git
Archives
- Today
- Total
Anyway
[DB] postgresql Count 함수 사용하기 본문
SELECT
COUNT(CASE WHEN score BETWEEN 9 AND 10 THEN 1 END) AS excellent_score,
COUNT(CASE WHEN score BETWEEN 7 AND 8 THEN 1 END) AS good_score,
COUNT(CASE WHEN score BETWEEN 1 AND 6 THEN 1 END) AS bad_score,
COUNT((CASE WHEN score BETWEEN 1 AND 6 THEN 1 END) AND (CASE WHEN A = false AND B = false AND C = false THEN 1 END)) AS bad_score_unconfirmed,
COUNT(CASE WHEN score IS NULL OR score = 0 THEN 1 END) AS not_rated_score
FROM
t_table;
4번 째 COUNT절에서 에러가 났다.
⚠️ 에러 내용
논리 연산자의 잘못된 사용이라는 에러이다.
즉 앞의 CASE 문을 통해 결과값 1이 반환되는데 여기서 AND 연산자는 불리언 값만 사용할 수 있기에 에러가 발생한다.
SELECT
COUNT(CASE WHEN score BETWEEN 9 AND 10 THEN 1 END) AS excellent_score,
COUNT(CASE WHEN score BETWEEN 7 AND 8 THEN 1 END) AS good_score,
COUNT(CASE WHEN score BETWEEN 1 AND 6 THEN 1 END) AS bad_score,
COUNT(CASE WHEN score BETWEEN 1 AND 6 AND A = false AND B = false AND C = false THEN 1 END) AS bad_score_unconfirmed,
COUNT(CASE WHEN score IS NULL OR core = 0 THEN 1 END) AS not_rated_score
FROM
t_table;
이렇게 단순하게 하면 되는 거였다.. ^^
'Database' 카테고리의 다른 글
[XML] select 문에서 조건에 따른 값으로 출력하기 (0) | 2025.04.16 |
---|---|
[DB] PostgreSQL Install 및 계정 생성 / 접속(Peer Authentication 에러 해결) (0) | 2025.01.09 |
[DB] Mybatis에서 if문에 enum 비교값 사용하기 (2) | 2024.12.18 |
[DB] Select문 STRING_AGG() 함수 사용하기 (0) | 2024.10.04 |
[DB/JPA] ORM이란? (0) | 2024.08.22 |