读书人

sql话语:最大时间与当前时间计算月数

发布时间: 2013-01-17 10:28:54 作者: rapoo

sql语句:最大时间与当前时间计算月数
select name,testdate from tb_test where DATEDIFF(MONTH,testdate,getdate())>6 and exists ( select name,MAX(testdate)maxdate from tb_test group by name)
这样为什么不是用最大值与当前时间计算呢?
[解决办法]
select name,max(testdate)testdate from tb_test
group by name
having DATEDIFF(MONTH,max(testdate),getdate())>6

[解决办法]

SELECT  name ,
testdate
FROM tb_test
WHERE DATEDIFF(MONTH, testdate, GETDATE()) > 6
AND EXISTS ( SELECT 1
FROM ( SELECT name ,
MAX(testdate) maxdate
FROM tb_test
GROUP BY name
) b
WHERE tb_test.NAME = b.NAME
AND tb_test.testdate = b.maxdate )

读书人网 >SQL Server

热点推荐