SQLでのレコード抽出について、以下のテーブルよりレコード抽出するには、SQLをどのように組めば宜しいでしょうか?
テーブルA
日付 取引番号 取引枝番
20171001 111111 11111
20171001 111112 11111
20171001 111112 11112
20171002 111112 11111
20171003 111111 11111
20171003 111112 11111
20171003 111112 11112
20171003 111112 11113
①「日付」で最大値を求める。(20171003)
②「日付」の最大値の中での4レコードで、今度は「取引番号」の最大値を求める。(111112)
③「取引番号」の最大値の中での3レコードで、今度は「取引枝番」の最大値を求める(11113)
④上記までの結果、最後の8レコード目が抽出される。
No.2ベストアンサー
- 回答日時:
create table tbl_a(d int,no int,subno int);
insert into tbl_a values
(20171001,111111,11111),
(20171001,111112,11111),
(20171001,111112,11112),
(20171002,111112,11111),
(20171003,111111,11111),
(20171003,111112,11111),
(20171003,111112,11112),
(20171003,111112,11113);
(1)
select max(d) from tbl_a
(2)
select max(no) from tbl_a
where d=(select max(d) from tbl_a)
(3)
select max(subno) from tbl_a as t1
where (d,no) in (
select d,max(no) from tbl_a
group by d
)
(4)意味がわからない、こう?
select * from tbl_a
where d=(select max(d) from tbl_a)
and no=(select max(no) from tbl_a where d=(select max(d) from tbl_a))
and subno=(select max(subno) from tbl_a as t1 where (d,no) in (select d,max(no) from tbl_a group by d))
No.1
- 回答日時:
えっと。
。。ようは、、、
「日付が最大」かつ「取引番号が最大」かつ「取引枝番が最大」のレコードを抽出する
というだけのことですよね。
これがわからないのはSQLをほぼ全くご存じないのだと思います。
であれば、まずはSQLの初歩を勉強してください。
教わってこの場は逃れてもすぐまた行き詰まるだけですので。
https://www.1keydata.com/jp/sql/
http://itpro.nikkeibp.co.jp/article/COLUMN/20061 …
ピンポイントで勉強したい場合はGoogleなどで「sql 最大値 条件」といった適当なキーワードで検索すると(1)~(3)の行い方を説明したページがたくさん見つかるはずですし、同様に「sql 複合条件」といった適当なキーワードで検索すると(4)の行い方を説明したページがたくさん見つかるはずです。
SQL文を書けばよいだけの問題であればそれで済むはずです。
実際に動かすのでしたら使用しているRDBのSQLもそれで問題無いか確認しましょう。方言が強いRDBもありますから。(^^;
あと、RDBへの接続手順とかも知らないといけないですね。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Oracle 列1と列2の関係性で列3の条件に一致するレコードを抽出したい 1 2022/04/13 07:46
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Date型にNULLをセットしたい V...
-
SELECTで1件のみ取得するには?
-
☆☆☆☆SQL Olacle 3つ以上の文字...
-
異なるDB間でのJOINやVIEWについて
-
SQL>UPDATEと同時にその件数を...
-
sqlplusの処理が途中でとまる
-
GROUP BYを使ったSELECT文の総...
-
実績累計の求め方と意味を教え...
-
SQL文で素早くNULLを除外する方法
-
GROUP BYを行った後に結合した...
-
固定値を含む結合と複数テーブ...
-
キーが同じを複数行を1行にま...
-
DATE型にNULLをセットするには?
-
Accessで別テーブルの値をフォ...
-
unionの結果は集計はできないで...
-
SELECTの結果で同一行を複数回...
-
select句副問い合わせ 値の個...
-
Access でレコードセレクタが押...
-
ワードの差込印刷で教えて下さ...
-
【初歩】ラジオボタンをつかっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECTで1件のみ取得するには?
-
Date型にNULLをセットしたい V...
-
SQL>UPDATEと同時にその件数を...
-
oracleのinsert select性能
-
sqlplusの処理が途中でとまる
-
ACCESSのSQLの書き方
-
異なるDB間でのJOINやVIEWについて
-
プロシージャで変数をテーブル...
-
SELECTでの指定行からの指定行...
-
ORDER BY 半角カナ
-
☆☆☆☆SQL Olacle 3つ以上の文字...
-
AccessVBAでリンクテーブルの参...
-
ACCESSとORACLEで抽出結果が異なる
-
PostgreSQLで小数点以下を処理...
-
オラクル オブジェクトのデー...
-
正規化?の戻しについて
-
取得するデータの件数指定、MyS...
-
SQLで抽出可能でしょうか?
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
おすすめ情報