반응형
mysql 함수 GROUPINT이 존재하지 않습니다.
사용시WITH ROLLUP
다음의 에러가 표시됩니다.
#1305 - FUNTION GROUP이 존재하지 않음
내 DB 버전:
innodb_version 5.7.28
version 10.2.30-MariaDB
이상하다WITH ROLLUP
동작하지만 동작하지 않는다GROUPING()
null을 교환하고 싶습니다.
감 잡히는 게 없어요?
내 SQL:
SELECT
IF(GROUPING(`Categorie`), 'All Categorie',`Categorie`) AS `Categorie`,
`Grootboek`,
SUM(`Bedrag2020`) AS `Bedrag2020`
FROM `vw_resultaat_ytd`
Group by
`Categorie`,
`Grootboek` WITH ROLLUP;
에서 설명한 바와 같이 https://www.mysqltutorial.org/mysql-rollup/
확실히.grouping()
는 지원되지 않습니다.~하지 않는 한Categorie
수 있습니다.NULL
, 그럼 그냥 사용하세요.COALESCE()
:
SELECT COALESCE(Categorie, 'All Categorie') AS Categorie,
Grootboek, SUM(Bedrag2020) AS Bedrag2020
FROM vw_resultaat_ytd
GROUP BY Categorie, Grootboek WITH ROLLUP;
한다면Categorie
수 있습니다.NULL
다음으로 값을 무효값으로 치환하여 원래대로 되돌릴 필요가 있습니다.
SELECT (CASE WHEN Categorie IS NULL THEN 'All Categorie'
WHEN Categorie <> '<NULL>' THEN Categorie
END) AS Categorie,
Grootboek, SUM(Bedrag2020) AS Bedrag2020
FROM vw_resultaat_ytd
GROUP BY COALESCE(Categorie, '<NULL>'), Grootboek WITH ROLLUP;
그레이트 고든, 도움이 되네최종적으로 이것이 제가 찾고 있던 최종 솔루션이지만, 저는 충분히 설명하지 않았습니다.
SELECT Categorie,
COALESCE(Grootboek, concat('All ', Categorie)) AS Grootboek,
SUM(Bedrag2020) AS Bedrag2020
FROM vw_resultaat_ytd
GROUP BY Categorie, Grootboek WITH ROLLUP;
언급URL : https://stackoverflow.com/questions/60486191/mysql-function-grouping-does-not-exist
반응형
'sourcecode' 카테고리의 다른 글
mySQL replace()를 사용하여 여러 레코드의 문자열을 대체하려면 어떻게 해야 합니까? (0) | 2022.09.24 |
---|---|
MariaDB 일반 로그가 작동하지 않음 (0) | 2022.09.24 |
1개의 쿼리로 여러 개의 문을 노드 검출 (0) | 2022.09.24 |
PHP 변수에서 클래스를 인스턴스화하시겠습니까? (0) | 2022.09.24 |
JavaScript 개체의 속성을 열거하려면 어떻게 해야 합니까? (0) | 2022.09.24 |