- PR -

最大の金額のレコードのIDを取得する方法

1
投稿者投稿内容
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-06-28 19:14
皆様、お世話になります、newbornです。

Sql文の書き方で行き詰ってしまったので、質問させて頂きます。

テーブル:meisia

id bangou kingaku
-- ------ -------
1 1 100
2 1 200
3 2 50
4 2 400

上記のようなテーブルから 番号でグループ化して集計した金額が一番
最大の番号を取得する場合、どのようなSQLを書けば実現できますでしょうか。

つまり
番号1の合計は300円
番号2の合計は450円

合計金額の最大の番号は、2というのを求めたいのです。

最大の金額を求めるところまでは、できたのですがそこから番号を取り出すことができません。

SELECT MAX(A.goukeikingaku) FROM (SELECT SUM(kingaku) AS goukeikingaku,bangou FROM meisai GROUP BY bangou) A

環境はSQLServer2000です。

宜しくお願いいたします。





[ メッセージ編集済み 編集者: newborn 編集日時 2006-06-28 19:23 ]
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-06-28 19:49
最大の金額から番号はどうやっても求まらないですよね。

クエリアナライザで色々試してみただけですけど、

SELECT bangou FROM (SELECT TOP 1 bangou, SUM(kingaku) AS GOUKEI FROM meisai GROUP BY bangou ORDER BY GOUKEI DESC) AS A

これでどうでしょうかね。
もっといい方法があるかもしれませんが。

-------------
ああ、すいません。
テーブル名meisiaで試してました。
meisaiに直しました。

[ メッセージ編集済み 編集者: 一郎 編集日時 2006-06-28 19:50 ]
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-06-28 21:04
一郎様、
すばやいご返信ありがとうございます。

一郎様のクエリを見て、ああそういう方法があったと納得いたしました。
大変勉強になりました。

有難う御座いましたm(_ _)m
1

スキルアップ/キャリアアップ(JOB@IT)