質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Q&A

解決済

1回答

666閲覧

特定の行同士で値を比較してマージする方法

hiropino

総合スコア14

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

0グッド

0クリップ

投稿2020/05/14 08:16

編集2020/05/14 08:18

以下のようなレコードがあるとします。
h f

A 1 A 2 B 4 C 1 C 3 h列もf列も重複する可能性があり、h列が重複していた場合はf列を比較して数値が高いレコードのみ保持し、以下のように取得したいです。 期待する結果 h f

A 2
B 4
C 3

caseやサブクエリを使用して、試行錯誤しましたが望む結果が返ってきません。
恐れ入りますが、ご教示いただけないでしょうか。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

あなたのやりたいことはマージではなくグループ化だと思います。
H列の値でグループ化して、グループ内で最大のF列の値を取得しましょう。

SQL

1select H, max(F) as MAX_F 2 from TABLE_NAME 3 group by H

投稿2020/05/14 08:47

ku__ra__ge

総合スコア4524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiropino

2020/05/14 08:52

解決しました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問