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'

結果は

CURRENT_DATE = 1 PASS_DATE = 2

1 つのリソースからクエリを実行する方法がわかりませんが、where 条件が異なります

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

助けてください

4

2 に答える 2

1

SELECT句内で 2 つのサブクエリを使用することをお勧めします

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 つの方法は、すべての日付をクエリし、条件に従って 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フィドルがありますhttp://sqlfiddle.com/#!3/e9c19/8

于 2013-03-05T03:39:36.623 に答える