大于一定数量的sql

时间:2013-04-03 10:53:26

标签: sql sql-server-2005 date select count

我需要创建一个显示以下内容的SQL查询:

'截至当前日期超过90天的活动帐户总数'

日期来自sql查询,即:

select date from currentdatetable

现在我的查询是计算来自accountstable的所有活动帐户,以便我的查询如下:

select count(*) from accountstable

我的问题是如何声明accountstable的日期比当前日期的日期大90天?

我目前的代码:

select count(*) from accountstable at where at.date > (select date from currentdatetable)

3 个答案:

答案 0 :(得分:0)

select count(*) from accountstable at where at.date > (select dateadd(day, -90,date) from currentdatetable)

答案 1 :(得分:0)

使用MS SQL-Server,您可以使用DATEADD + DATEDIFF

SELECT Count = Count(*),
       Date = (SELECT TOP 1 [date] 
               FROM   currentdatetable)
FROM   accountstable a 
WHERE  Datediff(dd, a.[date], (SELECT TOP 1 [date] 
                               FROM   currentdatetable)) > 90 

Demo

答案 2 :(得分:-1)

您可以通过仅选择更大的日期来优化上限答案:

从accountstable中选择count(*),at.date> (从当前日期ORDER BY日期DESC中选择TOP 1 dateadd(day,-90,date))