私は昨日一時間に起こったすべてのトランザクションの数を引き上げようとしています。私は今日の取引を望んでいません。しかし、私は条件のコードを取得するように見えることはできません。昨日と今日の間にSQL Server 2014でトランザクションを取得する方法は?
私のコード今のところ:私は全体の障害のある行をコメントアウトした場合
SELECT CAST(TransDT as DATE) as 'TransDate'
,CAST(DATEPART(Hour, TransDT) as varchar) + ':00' as 'Hour'
,LaneID
,Direction
,COUNT(*) as 'Ct'
FROM Traffic_analysis
WHERE TransDT >= DATEADD (DAY, -1 , SYSDATETIME())
AND TransDT < CAST(DATEPART(DAY, SYSDATETIME()) as int) --This is the faulty line.
GROUP BY CAST(TransDT as DATE), DATEPART(Hour, TransDT), LaneID, Direction
ORDER BY CAST(TransDT as DATE) ASC
、私も昨日と今日の結果を取得します。私は昨日の結果しか必要ない。
私がしようとしているのは、1時間ごと、1車線ごと、1方向あたりのトラフィックを示すグラフでレポートを表示することです。すべてのNBトラフィックを1つの列に、すべてのSBトラフィックを別の列に入れる方が良いでしょう。おそらくUNIONに参加するのでしょうか?
私はTransDT = DATEADD(DAY、-1、日付としてのキャスト(SYSDATETIME())のみを実行すると結果は得られません。 – user1777929
@ user1777929私の編集を参照してください。しかし、このアプローチでは、TransDTのインデックスを使用しません – Horaciux