0

作成中のビューがあり、日付と時刻を持つ列から抽出された日付でグループ化したいと考えています。これが私がいる場所です....

SELECT     
    ClockCode AS MOnum, SUM(Actual_Hrs) AS Runtothours, TStamp
FROM
    dbo.Raw_Booking
WHERE     
   (Actual_Hrs > 0) AND (ClockCode LIKE 'MO%') 
   AND (TStamp > CONVERT(DATETIME, '2013-01-01 00:00:00', 102))
GROUP BY 
   ClockCode, TStamp

そのため、列ごとにグループ化していTStampますが、時間に基づいてそれぞれのレコードがあります...日付ごとに注文ごとに実行時間の合計を取得しようとしています。

列は次のTStampようにフォーマットされます。

2013-01-02 08:18:47.000
4

2 に答える 2

0

スキーマを変更できる場合は、最初から日付として保存してください。それ以外の場合は、group by 句を次のようなものに変更します...

GROUP BY CAST(TStamp AS DATE)

編集: SQL 2005 を使用していたことを忘れていました。次のようなことを引き続き実行できますが、これは醜い、短期的な回避策と見なす必要があることに注意してください。再設計に関するこのスレッドのすべてのコメントは完全に有効であり、追求する必要があります...

GROUP BY SUBSTRING(TStamp, 0, 11)
于 2013-11-14T14:27:13.520 に答える