MySQL의 ROLLUP 관련 문제가 발생하여 결과로 NULL을 처리했습니다. IFNULL/COALESCE 함수는 일반 열과 잘 작동하지만 날짜 함수와 함께 사용하면 분해됩니다. 예를 들면 다음과 같습니다롤업, coalesce/ifnull 및 날짜 함수가있는 MySQL 그룹
SELECT
YEAR(date_time) AS Year,
count(x) AS Count
FROM mytable
GROUP BY year WITH ROLLUP
수익률 (예상대로)
Year Count
---- -----
2015 3
2016 2
NULL 5
내가 기능을 IFNULL를 사용하거나 COALESCE에 의해, 나는 NULL 값을 처리 할 수 있습니다 (예를 들어, VARCHAR)이 아닌 날짜 열에 대한 쿼리 NULL 값을 문자열로 대체합니다. 그러나 위의 쿼리에 동일한 논리를 적용하면 작동하지 않는 것 같습니다.
Year Count
---- -----
2015 3
2016 2
moo 5
어떤 아이디어를 예상
SELECT
COALESCE(YEAR(date_time), 'moo') AS Year,
count(x) AS Count
FROM mytable
GROUP BY year WITH ROLLUP
또는
SELECT
IFNULL(YEAR(date_time), 'moo') AS 'year',
count(x) AS Count
FROM mytable
GROUP BY year WITH ROLLUP
반환
Year Count
---- -----
2015 3
2016 2
NULL 5
대신
, 제안?
이 질문은 실제로 의미가 없습니다. 실제로 GROUP BY와 함께 사용되는 집계 함수가 없으므로 아무 것도 굴리지 않았기 때문입니다. –
내 질문의 핵심에 도달하기 위해 최소한의 부담을 덜어 줬기 때문에 –
대표 샘플을 제시해야합니다. 롤업이 없으므로 위의 내용을 이해할 수 없습니다. –