質問 |
||
| QNo.3933287 | 期間範囲の集計 | |
|---|---|---|
| 質問者:sadoru |
現在、下記のデータがあります。 A B C 1 2008/10/01 2008/10/31 質問ですが、カラムBの2008/10/01から、カラムCの2008/10/31まで同データAを集計する、SQLでの記述方法はありますでしょうか? 出力は、31となります。 ASP側からの集計は、解決できるのですが、 SQLからの集計はどのようにするのか疑問に思いましたので質問させていただきました。 |
|
困り度:
|
||
| 質問投稿日時: 08/04/08 21:45 |
||
回答良回答20pt |
|
| ANo.2 | これでどうですか? SELECT 列A * ( DATEDIFF( Day, 列B, 列C ) + 1 ) FROM テーブル名 質問文を勘違いしていたらすみません。 |
|---|---|
| 回答者:order4649 | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/04/09 10:26 |
|
| |
| この回答へのお礼 | お返事ありがとう御座います。 また遅れて申し訳御座いません。 私のコアとなる質問からは、はずれておりません。 解決致しました。 いろいろ応用したものを試行錯誤していたので、お返事が遅れてしまいました。 結果としまして解決することができました。 ありがとうございました。 |
回答良回答10pt |
|
| ANo.1 | 質問内容が曖昧すぎます。 列Aの値を集計するのですか? >出力は、31となります。 どういう意味ですか? 例で示された行数は1件で、列Aの値は1ですよ? 列Bを開始日、列Cを終了日とした日数を求めたいのでしょうか? |
|---|---|
| 回答者:chukenkenkou | |
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/04/08 22:14 |
|
| |
| この回答へのお礼 | お返事ありがとう御座います。 列Bを開始日、列Cを終了日とした集計を求めたいと思います。 例えば、 列A= 1 列B= 2008/10/01 列C= 2008/10/31 となっている場合は、1 を 31回足します。 よって出力は、31となります。 また、列Cが2008/10/03 の場合は、1を3回足すことになります。 以上、お手数をお掛けいたしました。 よろしくお願い致します。 |