• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLの作り方についてご教授下さい。)

SQLの作り方についてご教授下さい。

このQ&Aのポイント
  • SQLの作り方についてご教授下さい。DBの中から特定の条件でデータを抽出する方法を教えてください。
  • 抽出条件として、フラグが1であるデータのみを抽出し、同じNoについては1件のみ出力する方法を教えてください。
  • 抽出結果のデータはフラグが1であるもので、金額が大きい順に並べる必要があります。どのようにSQLを作成すれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.3

select * from DB a where 'フラグ'=1 and    '金額'=(select max('金額') from DB b where a.No = b.No and 'フラグ'=1) くらいでよいですか? 質問に書いてある以上のフィールドがあって、ちゃんとレコードを選択する必要があるなら、こうなると思います。 本当に、質問に書いてあるだけのフィールドで、金額の数字さえ解ればよいのであれば、No.1さんの解答の方が、シンプルですね。

evaag777
質問者

お礼

上手く行きました。皆さんどうもありがとうございます。

その他の回答 (2)

回答No.2

select No,フラグ,金額 from ( select No,フラグ,金額,row_number() over(partition by No order by 金額 desc) R from DB where フラグ=1 ) where R=1 ; とか。

evaag777
質問者

お礼

時間があれば、この方法も試してみたいと思います。ご回答ありがとうございます。

回答No.1

こんばんは。 普通に・・・、 SELECT No, フラグ, MAX(金額) FROM DB WHERE フラグ = 1 GROUP BY No, フラグ じゃ駄目なの?

evaag777
質問者

お礼

解決いたしました。ご親切にどうもありがとうございます。

関連するQ&A