![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
現在下記のようなテーブルが存在しております。
テーブル・・・
ID |名前|日付
01|田中|3/16
02|田中|3/15
03|田中|3/14
04|山田|3/17
05|山田|3/16
06|鈴木|3/15
07|鈴木|3/14
・・・
名前が田中かつ日付が3/15日以前で最新を1件
名前が鈴木かつ日付が3/14日以前で最新を1件
上記のような検索を実行し、下記の結果を得たいと考えております。
ID |名前|日付
02|田中|3/15
07|鈴木|3/14
試したこと---------
SELECT *
FROM テーブル AS テーブルA
INNER JOIN (SELECT 名前,MAX(日付)AS 最新日付 FROM テーブル
WHERE (日付 <= ‘2021-03-15 00:00:00’ AND 名前 = ‘田中’)
GROUP BY 名前 AS テーブルB
ON テーブルA.名前 = テーブルB.名前
AND テーブルA.日付 = テーブルB.最新日付
ーーー
上記のような形で一応取ってくることはできましたが、
かなりスピードが遅く困っております・・・
SQLに関する理解不足で読みにくいSQLになってしまい大変失礼ですが、
この場合の正しいSQLの書き方についてご回答をお願いしてもよろしいでしょうか。
また、もし可能であれば1回のSQLで
名前が田中かつ日付が3/15日以前で最新を1件」「名前が鈴木かつ日付が3/14日以前で最新を1件」
を同時に抽出する方法などありますでしょうか。
すみませんがどうぞよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
指定日付を起点にして最新日付のデータを取得
SQL Server
-
<SQL>重複しているデータの場合は最新の日時のものを取得したい
SQL Server
-
GROUP BYを行った後に結合したい。
Oracle
-
-
4
重複するキーから一番古い年月日のデータのみ取得したい
PostgreSQL
-
5
含まない言い方ってどうしたらいいんでしょうか
日本語
-
6
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
7
SQLで、過去で一番大きい日付のレコード抽出
MySQL
-
8
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
9
SQL文のwhere条件文で使う <> の意味はなんですか
その他(データベース)
-
10
SELECT 文 GROUP での1件目を取得
SQL Server
-
11
最新の日付と2番目の日付のデータ取得方法
SQL Server
-
12
テーブルで一番古いレコードだけをSELECTしたい
MySQL
-
13
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
14
tableタグとformタグの組み合わせ
HTML・CSS
-
15
SQLで条件にヒットしたレコードより後ろ10件を出したい
Oracle
-
16
前日分のデータだけをスケジュールでエクスポートしたい
SQL Server
-
17
最新日付のデータを取得したい
Oracle
-
18
テーブルの列数を調べたい
MySQL
-
19
テーブルの最後(最新)のレコードを抽出したい
MySQL
-
20
テーブルタグの中にdivを含めてはダメ?
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT 文の NULL列は?
-
UPDATE文の更新順序について
-
SQLでUPSERTを一度に複数行やる...
-
単純なselectが遅くなるのです...
-
LASTVAL()の使い方
-
テーブルに存在しない列をselec...
-
最新レコードを抽出し外部結合...
-
よろしくお願いします。
-
PostgreSQL レコードからアイテ...
-
Postgresqlで配列に日付を格納...
-
PostgreSQLでのTimestamp列と数...
-
テーブルのレコードの追加でに...
-
SQLにて指定日付より前、かつ最...
-
javaでデータベース上のテーブ...
-
Postgresのデータ領域の拡張に...
-
SQLクエリで、3つ以上のテーブ...
-
reindex と update のデッドロック
-
テーブルのレコード件数取得に...
-
SQLのsum関数
-
【PostgreからSQL-Serverのテー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
SQLにて指定日付より前、かつ最...
-
SQLでUPSERTを一度に複数行やる...
-
単純なselectが遅くなるのです...
-
PostgreSQLの断片化の状況を確...
-
javaでデータベース上のテーブ...
-
2つのテーブルで引き算 postgres
-
Postgresのデータ領域の拡張に...
-
最新レコードを抽出し外部結合...
-
UPDATE文の更新順序について
-
テーブルを作ろうとしたら。
-
reindex と update のデッドロック
-
Postgresqlのレポート機能について
-
レコードを1件のみ取得した後...
-
テーブルにcsvファイルをインポ...
-
重複を許すキーの構文がわかり...
-
PostgreSQL 8.0.2 の ERROR: r...
-
フィールドの入れ替えはできま...
-
バキューム処理の実行時間の目安
おすすめ情報