반응형
레코드가 없는 경우 MySQL SUM 쿼리 반환을 null이 아닌 0으로 만들려면 어떻게 해야 합니까?
선택한 쿼리는 다음과 같습니다.
SELECT SUM(rating) AS this_week
FROM table_name
WHERE UNIX_TIMESTAMP(created_at) >= UNIX_TIMESTAMP() - 604800)
이것은 기본적으로 마지막 주에 대한 항목의 등급을 계산합니다(604800은 1주 동안의 초 단위).
문제는 테이블에 행이 없을 때 this_week는 NULL로 반환된다는 것입니다. 테이블에 행이 없을 경우 쿼리에서 0을 반환했으면 합니다.어떻게 하죠?
이렇게 하면 효과가 있을 것입니다.
SELECT COALESCE(SUM(rating),0) AS this_week FROM table_name
WHERE UNIX_TIMESTAMP(created_at) >= UNIX_TIMESTAMP() - 604800)
COALESCE는 목록에서 NULL이 아닌 첫 번째 값을 반환하는 함수입니다.
사용할수없나요IFNULL(SUM(rating), 0)
?
이거 해보세요 : SUM(IFNULL(등급, 0))
언급URL : https://stackoverflow.com/questions/1318640/how-can-i-make-a-mysql-sum-query-return-zero-instead-of-null-if-there-are-no-rec
반응형
'programing' 카테고리의 다른 글
리퀴베이스가 있는 하나의 sqlFile에 PL/Sql 및 SQL 스크립트? (0) | 2023.10.15 |
---|---|
을 가져옵니다.을 가져옵니다.을 가져옵니다. (0) | 2023.10.15 |
클래스 메서드 안에 스크립트 "this"를 입력합니다. (0) | 2023.10.15 |
안드로이드: 자바, C 아니면 C++? (0) | 2023.10.15 |
두 가지 조건으로 각진 버튼을 비활성화하시겠습니까? (0) | 2023.10.15 |