
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECTで1件のみ取得するには?
-
Date型にNULLをセットしたい V...
-
oracleのinsert select性能
-
ORDER BY 半角カナ
-
異なるDB間でのJOINやVIEWについて
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
OracleのSQL*PLUSで、デー...
-
ファイル書込みで一行もしくは...
-
ADO VBA 実行時エラー3021
-
MS-DOSコマンドプロンプトを途...
-
実績累計の求め方と意味を教え...
-
条件をつけて日付の古い行を抜...
-
DataGridViewの内容をDBに反映...
-
困っています。ORACLE_SQL 複数...
-
Excelで、改行がある場合の条件...
-
select insertで複数テーブルか...
-
外部結合とor条件混在の記述方法
-
決定性有限オートマトン
-
COBOLでのランダムアクセス
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Date型にNULLをセットしたい V...
-
SELECTで1件のみ取得するには?
-
sqlplusの処理が途中でとまる
-
SQL>UPDATEと同時にその件数を...
-
☆☆☆☆SQL Olacle 3つ以上の文字...
-
oracleのinsert select性能
-
文字列を連結した後に1つの変...
-
ORDER BY 半角カナ
-
Accessでテーブル名の変更
-
異なるDB間でのJOINやVIEWについて
-
プロシージャで変数をテーブル...
-
マクロの編集方法を教えて下さい。
-
PostgreSQLで小数点以下を処理...
-
存在するデータの一覧を出すには?
-
AccessVBAでリンクテーブルの参...
-
ACCESSのSQLの書き方
-
PLSQLで変数に格納されたSQL文...
-
時間集計につて
-
オラクル オブジェクトのデー...
-
SELECTについて
おすすめ情報