- - PR -
Postgersにて 集計結果件数を知りたい
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2006-10-06 16:08
初めて質問させていただきます。
Select a.tokuicd, a.tantcd, sum(a.urikin) from a where a.tokuicd between 1 and 10000 group by a.tokuicd, a.tantcd offset limitt 100 上記sqlを発行したと同時に、 全体取得件数を知りたいのですが。 なにか良い方法はないでしょうか? (件数=100件ではなく offseti limittがない状態での件数が知りたい) ご存知の方いらっしょいましたらご教授願います | ||||
|
投稿日時: 2006-10-07 07:31
select 文の項目に追加できませんか?
select (select count(*) from a ...), 全体取得件数 a.tokuicd, a.tantcd, sum(a.urikin) [ メッセージ編集済み 編集者: 99ri 編集日時 2006-10-07 07:41 ] | ||||
|
投稿日時: 2006-10-07 20:20
group by a.tokuicd
だから (select count(distinct tokuicd) where a.tokuicd between 1 and 10000 ) と結合させたら? | ||||
|
投稿日時: 2006-10-09 14:20
group化してる関係で 非相関なスカラー問い合わせでリテラル値なんだけど DBによっちゃエラーやね Oracleはエラーだけど Postgreはどうだろ? [ メッセージ編集済み 編集者: ぷさいくろう 編集日時 2006-10-10 07:00 ] | ||||
|
投稿日時: 2006-10-26 16:43
早速の回答ありがとうございます。 私が「主旨」を書いてなかったことに問題が あり申し訳ございません。 実はチューニング作業をしていまして、 回答していただいた構文で行くと、 FULL検索が走ってしまい時間が掛かっちゃう訳です。 結果件数を取得する良い方法で関数を使ってカーソル件数を 取得しようと試みてたのですが、解らずじまいです・・・ なにか良い方法が無いか・・・更なるご教授をお願い致します | ||||
|
投稿日時: 2006-10-30 00:34
COUNTを使います。COUNT(*)するのではなく、インデックスが使われているフィールド名を指定してcount(hoge)の様に記述するのがコツです。 パフォーマンスチューニングについて聞きたいなら、今のSQL文と、インデックスの付与状況、実行計画を記載するのが近道です。どんなテーブル定義かもわからないのに、どうやったら早くなりますか?と聞かれても答えようが・・・。 | ||||
1
