2

我尝试计算当前日期的记录并从日期列传递日期

日期

'2013-03-04 00:00:00'

'2013-02-04 00:00:00'

'2013-02-04 00:00:00'

如果今天是'2013-03-04 00:00:00'

结果应该是

当前日期 = 1 通过日期 = 2

我不知道如何从一个资源中查询它,但条件不同

1st - date >= '2013-03-04 00:00:00'
2nd - date <  '2013-03-04 00:00:00'

请帮忙

4

2 回答 2

1

SELECT我建议在一个子句中使用两个子查询

select
   (select count(*) from MyDates where DateValue < getdate()) as PastDate,
   (select count(*) from MyDates where DateValue >= getdate()) as CurrentDate

getDate()如果您愿意,可以使用日期参数或硬编码值(例如“2013-03-04”)替换。

于 2013-03-05T03:37:34.153 回答
0

一种方法是查询所有日期并根据您的条件放置 1\0 然后只需从表中再次查询并对列求和。

SELECT sum([CURRENT_DATE]), sum([PASS_DATE])
FROM
(
  SELECT 
     ID,
     case when myDate >= getDate() then 1 else 0 end as [CURRENT_DATE],
     case when myDate < getDate() then 1 else 0 end as [PASS_DATE]
  FROM mytable

) as SourcTbl

这是一个 SQL Fiddle http://sqlfiddle.com/#!3/e9c19/8

于 2013-03-05T03:39:36.623 回答