source

CASE 및 GROUP BY 결과에서 새 열 만들기

gigabyte 2023. 2. 6. 23:39
반응형

CASE 및 GROUP BY 결과에서 새 열 만들기

이런 테이블이 있어요. 테이블이라고 해요.test:

+------------------------+--------+
| id_laporan_rekomendasi | status |
+------------------------+--------+
|                      1 |      2 |
|                      1 |      2 |
|                      1 |      2 |
|                      1 |      3 |
|                      2 |      2 |
|                      2 |      2 |
|                      2 |      2 |
|                      2 |      3 |
|                      3 |      2 |
|                      3 |      3 |
|                      4 |      2 |
|                      5 |      2 |
|                      5 |      3 |
|                      6 |      2 |
+------------------------+--------+

그룹화 기준id_laporan_rekomendasi컬럼에 있을 때 새 컬럼을 만듭니다.status가치가 있다3따라서 가치가 없는 경우3열 상태에서 값은 다음과 같습니다.0단, 가치가 있는 경우3보다1.

결과는 이랬을 것으로 예상합니다.

+------------------------+------+
| id_laporan_rekomendasi | test |
+------------------------+------+
|                      1 |    1 |
|                      2 |    1 |
|                      3 |    1 |
|                      4 |    0 |
|                      5 |    1 |
|                      6 |    0 |
+------------------------+------+

나는 이 쿼리를 시도했다.

SELECT t1.id_laporan_rekomendasi, 
COUNT(distinct case when t1.status = 3 then 1 else 0 end) as test
FROM test t1
GROUP BY t1.id_laporan_rekomendasi

하지만 나는 아래와 같은 결과를 얻었다.

+------------------------+------+
| id_laporan_rekomendasi | test |
+------------------------+------+
|                      1 |    2 |
|                      2 |    2 |
|                      3 |    2 |
|                      4 |    1 |
|                      5 |    2 |
|                      6 |    1 |
+------------------------+------+

누가 이 테이블 옮기는 것 좀 도와줄 수 있나요?

거의 다 왔어.MariaDB에서는 이를 다음과 같이 단순화할 수 있습니다.

SELECT t1.id_laporan_rekomendasi, 
       MAX( t1.status = 3 ) as test
FROM test t1
GROUP BY t1.id_laporan_rekomendasi;

MariaDB(및 MySQL)는 부울식을 숫자로 처리하며 true는 "1"이고 false는 "0"입니다.그러니까 이게 네가 원하는 거야

언급URL : https://stackoverflow.com/questions/49235114/make-a-new-column-based-from-case-and-group-by-result

반응형