2009-07-30 16 views
1

特定の日に作成されたレコードの総数を調べる必要があります。T-SQLを使用して、指定された日に作成されたレコードの総数を調べるにはどうすればよいですか?

IDCreatedDateに
1 17/07/2009
2 2009年12月7日
3 17/07/2009
4 2009年5月7日
5 2009年12月7日
6 17/07/2009

出力:

3のレコードは、Creましたatedは17/07/2009
2 Recordsからクリスによって行われた第二の提案をテストする際に2009年5月7日

EDIT

上に作成された2009年12月7日
1レコードで作成されましたSQLで書式設定を含めてのロバーツは、私はこのエラーが出る:それが動作するように

Syntax error converting the varchar value ' Records were created on ' to a column of data type int. 

誰もが解決策を手直しする方法を知っていますか?

答えて

6

あなたは、以下のSQLで後にしているデータを取得することができるはず...

SELECT COUNT(ID), CreatedDate FROM MyTable GROUP BY CreatedDate

それとも - あなたも、SQLで書式設定を行いたい場合。 ..

SELECT CONVERT(varchar, COUNT(ID)) + ' Records were created on ' + CONVERT(varchar, CreatedDate) FROM MyTable GROUP BY CreatedDate

幸運!

+0

ありがとう、ありがとう。 – Tesseract

+0

SQL文内で書式設定を実行しようとしたときにエラーが発生しました。私の編集を参照してください。 – Tesseract

+0

私は2つの 'CONVERT'ステートメントを2番目のクエリに追加しました。 –

-2
select count(*), CreatedDate from table group by CreatedDate order by count(*) DESC 
+2

GROUP BYはCreatedDateフィールドにあるべきではありませんか? –

+0

-1それは構文チェックを通過することさえありません。クリスは正しい答えを持っています –

1

この列は実際にタイムスタンプですか?その場合、あなたが例えば、時間成分を除去する機能を適用する必要があります:

SELECT COUNT(*)、MyTableというグループからの日付(CreatedDateに)日付BY(CreatedDateに)

私は何を知りません関数はT-SQLにあり、MySQLではdate()、Oracleではtrunc()です。あなたはto_stringをして、文字列の終わりを削除し、それがなければそれをグループ化する必要があるかもしれません。

これが役に立ちます。

関連する問題