the function returns a value of 1 if the value of expr in the row is a null representing the set of all values.
SELECT
DECODE(GROUPING(department_id), 1, '*', department_id) AS department,
DECODE(GROUPING(job_id), 1, '*', job_id) AS job,
COUNT(*) AS "Stuff", SUM(salary) * 12 AS "Yearly"
FROM hr.employees
GROUP BY ROLLUP (department_id, job_id)
| Id | _Operation | Name | Rows | Bytes | Cost (%CPU) | Time |
| 0 | _SELECT STATEMENT | | 107 | 1712 | 4 (25) | 00:00:01 |
| 1 | __SORT GROUP BY ROLLUP | | 107 | 1712 | 4 (25) | 00:00:01 |
| 2 | ___TABLE ACCESS FULL | EMPLOYEES | 107 | 1712 | 3 (0) | 00:00:01 |
| NULL | SA_REP | 1 | 84000 |
| NULL | * | 1 | 84000 |
| 10 | AD_ASST | 1 | 52800 |
| 10 | * | 1 | 52800 |
| 20 | MK_MAN | 1 | 156000 |
| 20 | MK_REP | 1 | 72000 |
| 20 | * | 2 | 228000 |
| 30 | PU_MAN | 1 | 132000 |
| 30 | PU_CLERK | 5 | 166800 |
| 30 | * | 6 | 298800 |
| 40 | HR_REP | 1 | 78000 |
| 40 | * | 1 | 78000 |
| 50 | ST_MAN | 5 | 436800 |
| 50 | SH_CLERK | 20 | 771600 |
| 50 | ST_CLERK | 20 | 668400 |
| 50 | * | 45 | 1876800 |
| 60 | IT_PROG | 5 | 345600 |
| 60 | * | 5 | 345600 |
| 70 | PR_REP | 1 | 120000 |
| 70 | * | 1 | 120000 |
| 80 | SA_MAN | 5 | 732000 |
| 80 | SA_REP | 29 | 2922000 |
| 80 | * | 34 | 3654000 |
| 90 | AD_VP | 2 | 408000 |
| 90 | AD_PRES | 1 | 288000 |
| 90 | * | 3 | 696000 |
| 100 | FI_MGR | 1 | 144000 |
| 100 | FI_ACCOUNT | 5 | 475200 |
| 100 | * | 6 | 619200 |
| 110 | AC_MGR | 1 | 144000 |
| 110 | AC_ACCOUNT | 1 | 99600 |
| 110 | * | 2 | 243600 |
| * | * | 107 | 8296800 |
没有评论:
发表评论