본문 바로가기
MySql

MySQL Sum values of a single row?

by 베이스 공부 2020. 12. 10.
반응형

일련의 1과 0 인 단일 행을 반환하는 MySQL 쿼리가 있습니다. 진행률 표시 줄 표시기입니다. 이제 코드에서 합계를 얻었지만 쿼리의 값을 합산하려고 시도했지만 SUM ()을 사용할 수 없다는 것을 깨달았습니다. 왜냐하면 열은 많지만 행은 하나이기 때문입니다.

쿼리에서 이것을 자동으로 합산 할 수있는 방법이 있습니까? 다음과 같습니다.

item_1 | item_2 | item_3 | item_4
-------+--------+--------+--------
     1 |      1 |      0 |      0

편집 : item_1 등은 간단한 필드 값이 아니지만 각각은 SELECT IF (field_1 = 1 and field_2 IS NOT NULL, 0, 1) AS item_1 ... 이므로 중첩 쿼리를 수행해야하는 것 같습니다.

SELECT ( item_1 + item_2 ... ) FROM ( SELECT IF( field_1 = y and field_2 IS NOT NULL, 1, 0 ) AS item_1 ... ) AS alias

옳은?

 

해결 방법

 

select item_1 + item_2 + item_3 + item_4 as ItemSum
from MyTable

null 값이있을 수있는 경우 다음과 같이 처리해야합니다.

select ifnull(item_1, 0) + ifnull(item_2, 0) + ifnull(item_3, 0) + ifnull(item_4, 0) as ItemSum
from MyTable

 

참조 페이지 https://stackoverflow.com/questions/2179207

 

 

반응형

댓글