0

以下は表です。

emp_id    salary   salary_date
Emp1    1000    Feb 01
Emp1    2000    Feb 15
Emp1    3000    Feb 28
Emp1    4000    Mar 01
Emp2    5000    Jan 01
Emp2    6000    Jan 15
Emp2    2000    Mar 01
Emp2    5000    Apr 01
Emp3    1000    Jan 01
Emp4    3000    Dec 31
Emp4    5000    Dec 01

そして、次の結果が必要です。

Emp1  Feb           3000 
Emp2  Jan           6000 
Emp4  Dec           5000 
Emp2  Apr           5000 
Emp1  Mar           4000 
4

3 に答える 3

0
SELECT e.Emp_ID,MaxSalary,MonthName
FROM employeeTable e
INNER JOIN
(
SELECT MAX(salary) as MaxSalary,
       LEFT(salary_date,3) as MonthName
FROM employeeTable
GROUP BY LEFT(salary_date,3)
)t
ON e.Salary=t.MaxSalary
于 2014-04-30T18:43:15.423 に答える
0

私は私の答えを見つけました!!!

select emp_id, substr(sal_date,1,3) 毎月、salary from (select emp_id, sal_date, salary, max(salary)over (partition by substr(sal_date,1,3)) max_sal from emp_salary order by emp_id) ここで、salary= max_sal;

結果セット:

EMP_ID 月給


Emp1 Mar 4000 Emp1 Feb 3000 Emp2 Jan 6000 Emp2 Apr 5000 Emp4 Dec 5000

于 2014-05-01T04:30:20.827 に答える