次の構造の MySQL データベース テーブルがあります。
+----+---------+---------+---------------------+
| id | item_id |  name   |      modified       |
+----+---------+---------+---------------------+
|  1 |    1829 | Item 1  | 2013-10-20 20:42:34 |
|  2 |    1737 | Item 2  | 2013-10-25 12:33:01 |
|  3 |    1829 | Item 3  | 2013-10-22 18:47:22 |
|  4 |    1737 | Item 2b | 2013-10-29 21:12:29 |
|  6 |    1829 | Item 3b | NULL                |
+----+---------+---------+---------------------+
私がやりたいのは、単一のクエリですべてのアイテムを取得することですが、繰り返される場合は、より新しい (変更されたフィールドが新しい) または変更されたフィールドが NULL であるアイテムのみを取得します。
したがって、このテーブルから得られるものは次のとおりです。
+----+---------+---------+---------------------+
| id | item_id |  name   |      modified       |
+----+---------+---------+---------------------+
|  1 |    1829 | Item 1  | 2013-10-20 20:42:34 |
|  4 |    1737 | Item 2b | 2013-10-29 21:12:29 |
|  6 |    1829 | Item 3b | NULL                |
+----+---------+---------+---------------------+
次のような 2 番目の選択でそれを行うことができます。
SELECT db_items.item_id, db_items.name, db_items.modified  
FROM (SELECT item_id, name, modified 
    FROM db_items 
    ORDER BY modified DESC) db_items 
GROUP BY item_id
しかし、内部の SELECTS なしで可能かどうか知りたいです (これは単なる例であり、より複雑なクエリで使用するため)。
お時間とご回答ありがとうございます。