1
私はthis questionを読みましたが、それは私が探していたものではありません。 私の問題は、私はこれを行うにwhantです:日付とGROUP BYとCOUNTを使用するLINQ to SQL
SELECT CONVERT(varchar(10), m.CreateDate, 103) as [Date] , count(*) as [Count] FROM MEMBERS as m
WHERE m.CreateDate >= '24/01/2008' and m.CreateDate <= '26/06/2009'
Group by CONVERT(varchar(10), m.CreateDate, 103)
結果は次のとおりです。
Date Count
02/03/2009 4
24/02/2009 3
25/02/2009 3
26/02/2009 3
と私はこれをやっている:
From m In Me.Members _
Where m.CreateDate >= "22/02/2008" And m.CreateDate <= "22/05/2009" _
Group m By m.CreateDate Into g = Group _
Select New With {CreateDate, .Count = g.Count()}
LINQPadにacoordingするSQLでこれを行うこと:
SELECT COUNT(*) AS [Count], [t0].[CreateDate]
FROM [Members] AS [t0]
WHERE ([t0].[CreateDate] >= @p0) AND ([t0].[CreateDate] <= @p1)
GROUP BY [t0].[CreateDate]
および結果は次のとおりです。
Date Count
24/02/2009 00:00:00 1
24/02/2009 07:07:10 1
24/02/2009 12:24:10 1
25/02/2009 03:43:05 1
25/02/2009 03:48:36 1
25/02/2009 04:25:11 1
26/02/2009 01:51:24 1
26/02/2009 09:54:55 1
26/02/2009 09:55:31 1
02/03/2009 05:29:22 1
02/03/2009 05:45:50 1
02/03/2009 06:15:31 1
02/03/2009 06:59:07 1
したがって、diferenceはCONVERT部分です。ですから、DateやDatetimeからLINQのようなSmallDateに変換するにはどうしたらいいですか?
「Date」は「Date?」のメンバーではありません。あなたのアイデアそれは右の約 – Txugo
私はそれがnullableかどうか分からなかった(私のコメントを参照してください)。また、終了日の比較にも注意してください。あなたの書かれたやり方は、その日の真夜中を過ぎてから22/5/2009のアイテムが含まれているとは思いません。 – tvanfosson