ここから本文です

Oracle初心者です。

lir********さん

2019/6/1815:11:37

Oracle初心者です。

例えば以下のようなテーブルがあったして、

ID|PLACE
------------
001|01_Tokyo
001|02_Osaka
001|03_Fukuoka
002|02_Osaka

IDと、PLACEの中で最も若い番号のレコードを出力したい場合、1つのSQL文で実現できますか?
この場合以下が期待値です。

001,01_Tokyo
002,02_Osaka

閲覧数:
20
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nor********さん

2019/6/1900:23:25

SELECT ID,PLACE
FROM (
SELECT ID,PLACE
,ROW_NUMBER() OVER( PARTITION BY ID ORDER BY PLACE ) RN
FROM TBL )
WHERE RN = 1

だと不都合ありますか。

  • 質問者

    lir********さん

    2019/6/2009:36:24

    ありがとうございます。これでやってみます!

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

nob********さん

2019/6/1816:01:44

select ID,PLACE from
(select ID,row_number() over(order by ID)as NO from T) T1
inner join
(select PLACE,row_number() over(order by PLACE)as NO from T) T2
on T1.NO=T2.NO
order by T1.NO
fetch first 2 rows only
です。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる