に一致するすべてのエントリを選択します。今、私は最も古いエントリ撮りたいINDEX(key1, key2)
私はこのようなテーブル持ってMariaDB/MySQLで最も古いエントリ
で
table (key1, key2, date)
を:
SELECT * FROM `table` ORDER BY `date` ASC LIMIT 1
をと最後に、最初のクエリのkey1
とkey2
に一致するすべてのエントリ:
SELECT * FROM `table` WHERE `key1` = ? AND `key2` = ?
これを何らかの形で1つのクエリに単純化できますか?
これは面白そうです。このクエリでGordon LinoffのJOINソリューションよりも優れたパフォーマンスが得られるかどうかはわかりますか? – user2015253
いいえ、私はパフォーマンステストをしませんでしたが、そのような結果が得られれば興味があります。 2つの異なるアプローチの違いについて先に質問したStackoverflowの質問に対するAlex Poolの答えに沿って説明します。 [https://stackoverflow.com/questions/30078464/difference-between-with-clause-and-subquery] 私は個人的に名前の使用のために読みやすいバージョンを見つける(私は上記の例ではt_oldestを使用した) )。より複雑なクエリは、その側面でさらに役立ちます。 – smile2day