質問: ccc のレコードはすべて対象外としたいです。 上記のSQLでIN句の中のSELECT結果が1件以上であれば、想定通りの結果(id 1,2,3が取得できる状態)が 得られたのですが、IN句の中のSELECTで0件の時に何も値を取得できなくなってしまい困っています。 (id=5のレコードが無い場合は、10分以上経過しているデータはあるけど、0件になってしまう)
回答: 各Keyごとで、ins_dt が最も新しいものが、現在時刻の10分前より前である key に関するレコードすべて、を抽出すればよい、のでしょうか? ``` SELECT id FROM tbl INNER JOIN (SELECT key, MAX(ins_dt) AS ins_dt FROM tbl GROUP BY key HAVING ins_dt <= '2016-11-11 11:01:11') AS vt1 ON (tbl.key = vt1.key AND tbl.ins_dt <= vt1.ins_dt); ``` これで行けそうですが。