3

レポートを作成しようとしていますが、宿敵 SQL に問題があります。

トランザクションの完了日が格納されているテーブルがあります。

毎月のトランザクション数を知りたいので、次のようにしました。

SELECT trunct( closedate, 'MONTH' ) FROM  MY_TRANSACTIONS 

私はオラクルを使用しています。

次のようなリストを取得しています。

2002-09-01 00:00:00.0
2002-09-01 00:00:00.0
...
2002-10-01 00:00:00.0
2002-10-01 00:00:00.0
...
2002-11-01 00:00:00.0
2002-11-01 00:00:00.0

だから私は「SELECTにCOUNT()を追加し、ステートメントの最後にGROUP BYを追加すればよい」と考えましたが、そうではありません。私の推測は、各レコードが異なる値として扱われるためです: -S

ヒントをお願いします。

ありがとう。

4

1 に答える 1

11

すべての非集計フィールドでグループ化する場合。そして、日付を切り捨てたくないので、日付の月の部分が必要です。

のようなもの

select to_char(datefield, 'Month'), count(*) from ... group by to_char(datefield, 'Month');

于 2009-04-06T19:00:08.140 に答える