반응형
MIN
함수를 사용하여 MySQL에서 열의 최소값을 가져 오려고합니다. 그러나 MySQL에 0 값을 무시하도록 지시 할 수 있습니까? 문제는 tinyint
열에 대해 NULL
대신 0
을 기본값으로 저장하고 있다는 것입니다. 내가 원하는 것은 0보다 큰 최소값을 얻는 것입니다.
SELECT a.baseloc_id,
a.baseloc_latitude,
a.baseloc_longitude,
a.baseloc_distance,
MIN(b.basecost_ton2_cost) as minTon2,
MIN(b.basecost_ton3_cost) as minTon3,
MIN(b.basecost_ton10_cost) as minTon10
FROM bbox_logi_base_locations a
LEFT JOIN bbox_logi_base_cost b
USING (baseloc_id)
GROUP BY a.baseloc_id;
도움을 주셔서 감사합니다.
언급하는 것을 잊어서 죄송합니다. bbox_logi_base_cost
테이블에는 조각난 값이 포함 된 행이 있습니다. 예를 들어 한 행은 0
으로 basecost_ton2_cost
를 가질 수 있지만 다른 열은 값으로 채울 수 있습니다. 그리고 다른 행은 모든 열을 가질 수 있지만 하나는 0
입니다. 따라서 WHERE
조건을 사용하여 행을 필터링 할 수 없습니다.
해결 방법
이것을 사용하십시오 :
MIN(NULLIF(value, 0))
참조 페이지 https://stackoverflow.com/questions/2099720
반응형
'MySql' 카테고리의 다른 글
MySQL "WHERE에서 집계 함수를 사용할 수 없습니다"오류를 방지하는 방법 (0) | 2020.12.14 |
---|---|
MySQL Codeigniter의 result_array () ActiveRecord (0) | 2020.12.14 |
MySQL SELECT 쿼리에서 여러 열을 기준으로 정렬하는 방법은 무엇입니까? (0) | 2020.12.14 |
MySQL LINQ의 날짜 차이 논리 (0) | 2020.12.14 |
MySQL에서 A로 시작하는 이름을 어떻게 검색합니까? (0) | 2020.12.14 |
댓글