1

次の行で定義されたテーブル(SQL Server 2008 R2にあります)があります。DateAdded列はデータSmallDateTime型です。

 ID    DateAdded
  1    2012-08-01 12:34:02
  2    2012-08-01 12:48:25
  3    2012-08-05 08:50:22
  4    2012-08-05 11:32:01
  5    2012-08-26 09:22:15 
  6    2012-08-26 13:42:02
  7    2012-08-27 08:22:12

私がする必要があるのは、同じYYYY / MM/DD値で発生する行を数えることです。したがって、取得する必要のある結果は次のようになります...

DateAdded   QTY
2012-08-01  2  
2012-08-05  2  
2012-08-26  2  
2012-08-27  1

これを機能させるための構文/式を理解できません。誰かが私を正しい方向に向けることができますか?ありがとうございました!

4

1 に答える 1

5
SELECT 
  DateAdded = DATEADD(DAY, DATEDIFF(DAY, 0, DateAdded), 0), 
  QTY = COUNT(*)
FROM dbo.tablename
GROUP BY DATEADD(DAY, DATEDIFF(DAY, 0, DateAdded), 0);

または、Marc が正しく指摘したように (タグよりも書式設定の失敗を調べるのに多くの時間を費やしました):

SELECT 
  DateAdded = CONVERT(DATE, DateAdded), 
  QTY = COUNT(*)
FROM dbo.tablename
GROUP BY CONVERT(DATE, DateAdded);
于 2012-08-28T15:53:29.840 に答える