특정 조건에 따라 테이블의 열을 여러 열로 피벗하려면 SQL 쿼리에서 CASE WHEN 표현식을 사용할 수 있습니다. 그러나 이 방법을 구현할 때 그룹화가 누락되어 사용자에게 잘못된 결과가 발생할 수 있습니다.
이 문제를 해결하기 위해 SUM() 집계 함수 및 올바른 그룹화를 포함하는 수정된 쿼리가 아래에 제공됩니다.
<code class="language-sql">SELECT name, SUM(CASE WHEN val = 1 THEN amount ELSE 0 END) AS amountVal1, SUM(CASE WHEN val = 2 THEN amount ELSE 0 END) AS amountVal2 FROM bank GROUP BY name</code>
이 향상된 쿼리는 원하는 결과를 생성합니다.
name | amountVal1 | amountVal2 |
---|---|---|
John | 2000 | 1888 |
Peter | 1999 | 1854 |
위 내용은 CASE WHEN 및 GROUP BY를 사용하여 SQL에서 열을 올바르게 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!