1

特定の日に作成されたレコードの総数を調べる必要があります。

例えば

ID CreatedDate
1 17/07/2009
2 12/07/2009
3 17/07/2009
4 05/07/2009
5 12/07/2009
6 17/07/2009

出力:

3 レコードは2009 年 7 月 17 日
に作成されました 2 レコードは 2009 年 12 月 7 日に作成されました
1 レコードは 2009 年 5 月 7 日に作成されました

編集

Chris Roberts が SQL にフォーマットを含めるという 2 番目の提案をテストすると、次のエラーが発生します。

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

それが機能するようにソリューションを作り直す方法を知っている人はいますか?

4

3 に答える 3

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

幸運を!

于 2009-07-30T18:41:48.420 に答える
1

列は実際にタイムスタンプですか? その場合、時間コンポーネントを削除する関数を適用する必要があります。

SELECT COUNT(*), date(CreatedDate) FROM MyTable GROUP BY date(CreatedDate)

関数がT-SQLで何であるかわかりません。MySQLではdate()、Oracleではtrunc()です。これがない場合は、 to_string を実行して文字列の末尾を削除し、それによってグループ化する必要さえあるかもしれません。

お役に立てれば。

于 2009-07-30T21:33:04.067 に答える
-2
select count(*), CreatedDate from table group by CreatedDate order by count(*) DESC
于 2009-07-30T18:41:12.087 に答える