반응형
집계된 값이 있는 요약 행을 표시하는 mariadb SQL 쿼리
집계된 값이 포함된 요약 행 사이에 보고서를 인쇄하기 위해 MariaDB에 SQL 쿼리를 작성해야 합니다.
예: EMP 표의 데이터는 다음과 같다.
EmpName ROLE SALARY
A Manager 10000
B operator 8000
C operator 8500
D GM 20000
E Manager 9000
다음과 같은 출력이 필요합니다.
ROLE EmpName SALARY
Manager A 10000
E 9000
TOTAL 19000
----------------------------
GM D 20000
TOTAL 20000
----------------------------
operator B 8000
C 8500
TOTAL 16500
미리 감사 드려요.
다음 쿼리는 원하는 것과 유사한 출력을 생성할 수 있습니다.
SELECT IF(type = 1, ROLE, 'TOTAL'), SALARY
FROM (
SELECT ROLE, SALARY, 1 AS type
FROM mytable
UNION ALL
SELECT ROLE, SUM(SALARY) AS TotalSalary, 2 AS type
FROM mytable
GROUP BY ROLE) AS t
ORDER BY ROLE, type
WITH ROLLUP 수식자를 사용해 보십시오. 예:
SELECT
role, empname, SUM(salary)
FROM
table1
GROUP BY
role, empname WITH ROLLUP;
출력:
GM D 20000
GM (null) 20000
Manager A 10000
Manager E 9000
Manager (null) 19000
operator B 8000
operator C 8500
operator (null) 16500
(null) (null) 55500
그룹화된 열의 모든 NULL 값은 총 값입니다.마지막 행은 모든 급여의 총액입니다.
그룹화 기준(롤업 수식자 문서 포함)
언급URL : https://stackoverflow.com/questions/43223171/mariadb-sql-query-showing-summary-lines-with-aggregated-values
반응형
'programing' 카테고리의 다른 글
MySQL - NULL 입력 방법 (0) | 2022.09.28 |
---|---|
Python 2.x와 함께 Python 3.x를 사용하는 방법 (0) | 2022.09.28 |
Vuex TypeScript에서 문자열이 업데이트되지 않지만 어레이가 업데이트됨 (0) | 2022.09.28 |
같은 스레드에서 시작 메서드를 두 번 호출하는 것이 합법입니까? (0) | 2022.09.28 |
존재하지 않는 참조를 사용하여 MariaDB에 데이터 저장 (0) | 2022.09.28 |