日期:2014-05-17  浏览次数:20789 次

求教一个统计用的SQL语句!!
有数据表a如下:
姓名 岗位 工资 时间
A    AA  100 2011.1.1
B    BB  200 2011.1.1
C    AA  300 2011.1.1
A    DD  400 2011.2.1
B    CC  500 2011.2.1
C    CC  600 2011.2.1

想要得到一个如下的结果:
姓名 岗位 工资
A   DD   500
B   CC   700
C   CC   900

也就是说工资是1-2月份的合计,而岗位是最新2月份的岗位。
想了好长时间也没有想出来,请教大家!谢谢! 

------解决方案--------------------
CREATE TABLE #1 (xm varchar(100),gw varchar(100),sl int, sj varchar(100))
INSERT INTO #1 SELECT 
'A','AA',100, '2011.1.1' UNION ALL select

'B','BB' , 200, '2011.1.1'UNION ALL select
'C','AA',300,'2011.1.1'UNION ALL select
'A','DD' ,400, '2011.2.1'UNION ALL select
'B','CC',500,'2011.2.1'UNION ALL select
'C','CC' , 600, '2011.2.1'
SELECT a.xm,(SELECT gw FROM #1 WHERE sj='2011.2.1' AND xm=a.xm),sum(a.sl) FROM #1 a
GROUP BY 
a.xm

------解决方案--------------------