반응형
일련의 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
반응형
'MySql' 카테고리의 다른 글
MySQL 열을 AUTO_INCREMENT로 변경 (0) | 2020.12.10 |
---|---|
MySQL 쿼리를 사용하여 IP 주소 얻기 (0) | 2020.12.10 |
MySQL 더 이상 사용되지 않음 : mysql_connect () (0) | 2020.12.10 |
MySQL How to split comma separated text in MySQL stored procedure (0) | 2020.12.10 |
MySQL 안전 모드에서 mysql 삭제 (0) | 2020.12.10 |
댓글