重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)、且つ数値の多いデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)

<検索対象データ>
区分 年月   数値   
-----------------------------
A   200412  1
A   200503  1
B   200508  1
B   200508  2
B   200504  1
C   200508  1
C   200508  2
C   200509  1


<取得したいデータ>
区分 年月   数値
-----------------------------
A   200503  1
B   200508  2
C   200509  1

よろしくお願いします。

A 回答 (2件)

たとえばこう



create table tbl(kubun varchar(10),nengetu int,suchi int);
insert into tbl values
('A','200412',1),
('A','200503',1),
('B','200508',1),
('B','200508',2),
('B','200504',1),
('C','200508',1),
('C','200508',2),
('C','200509',1);

select kubun,nengetu,max(suchi) as suchi
from tbl as t1
where exists(select 1 from tbl as t2 where t1.kubun=t2.kubun and t1.nengetu>t2.nengetu)
group by kubun,nengetu
    • good
    • 0

>SQL文で困っています。



具体的に何が分からず困っているか、何をどう試してどういう結果になったのでダメだったかを書かないと適切な回答はつきませんよ。

サブクエリにて数値がMAXの一覧を取得して、さらにサブクエリにて年月がMAXの値を取得してはどうでしょうか。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す