我有一个问题要问,我应该创建一个查询,它显示:
MIN(lastname) MAX(firstname) SUM(salary) AVG(salary)
---------------------------------------------------------------
DAVIES TRINA 17500 3500这是我创建的查询/查询:
SQL> SELECT MIN(LASTNAME), MAX(FIRSTNAME), SUM(SALARY), AVG(SALARY)
2 FROM EMPLOYEES
3 GROUP BY JOB_ID;
SQL> SELECT MIN(LASTNAME), MAX(FIRSTNAME), SUM(SALARY), AVG(SALARY)
2 FROM EMPLOYEES
3 GROUP BY JOB_ID, MANAGER_ID;但我得到了多行显示给我,在戴维斯,特里娜显示的部分,和AVG的工资是不同的,我不知道它们是如何分组的。
MIN(LASTNAME) MAX(FIRSTNAME) SUM(SALARY) AVG(SALARY)
---------- ---------- ----------- -----------
ERNST DIANA 10200 5100
HIGGINS SHELLEY 12000 12000
GIETZ WILLIAM 8300 8300
MOURGOS KEVIN 5800 5800
WHALEN JENNIFER 4400 4400
DE HAAN NENA 34000 17000
ZLOTKEY ELENI 10500 10500
HARTSTEIN MICHAEL 13000 13000
KING STEVEN 24000 24000
ABEL KIMBERLEY 26600 8866.66667
FAY PAT 6000 6000
**DAVIES TRINA 11700 2925**我做错了什么?更多信息如下:
EMPLOYEE_ID FIRSTNAME LASTNAME LASTNAME JOB_ID JOB_ID MANAGER_ID DEPARTMENT_ID
100 STEVEN KING AD_PRES 24000 90
101 NENA KOCHAR AD_VP 17000 100 90
102 LEX DE HAAN AD_VP 17000 100 90
103 ALEXANDER HUNOLD IT_PROG 101 60
104 BRUCE ERNST IT_PROG 6000 102 60
107 DIANA LORENTZ IT_PROG 4200 103 60
124 KEVIN MOURGOS ST_MAN 5800 100 50
141 TRINA RAJS ST_CLERK 3500 124 50
142 CURTIS DAVIES ST_CLERK 3100 124 50
143 RANDALL MATOS ST_CLERK 2600 124 50
144 PETER VARGAS ST_CLERK 2500 124 50EMPLOYEE_ID FIRSTNAME LASTNAME LASTNAME JOB_ID JOB_ID MANAGER_ID DEPARTMENT_ID
149 ELENI ZLOTKEY SA_MAN 10500 100 80
174 ELLEN ABEL SA_REP 11000 149 50
176 JONATHAN TAYLOR SA_REP 8600 149 80
178 KIMBERLEY GRANT SA_REP 7000 149
200 JENNIFER WHALEN AD_ASST 4400 101 10
201 MICHAEL HARTSTEIN MK_MAN 13000 100 20
202 PAT FAY MK_REP 6000 201 20
205 SHELLEY HIGGINS AC_MGR 12000 101 110
206 WILLIAM GIETZ AC_ACCOUNT 8300 205 110发布于 2018-07-31 04:53:51
如果您提供了正确的数据,即运行查询/查询之前的数据,并说明为什么应该是17500(和)和3500(avg),那么您就有更多的机会获得答案。
在第一个查询中,您是基于JOB_ID进行分组的。这意味着对于所有类似的JOB_IDs (在SUM (工资)情况下),它将选择工资列的值,并对每个不同的JOB_ID的值进行求和。
示例:
JOB_ID SALARY
1 200
2 300
1 150
2 100
3 270如果运行以下查询:
Select JOB_ID,SUM(SALARY) FROM Table GROUP BY JOB_ID输出:
JOB_ID SALARY
1 350
2 400
3 270https://stackoverflow.com/questions/51605415
复制相似问题