0

という名前の MySQL データベース テーブルに次のデータがありますMyTable

+----------+------------+---------------------+
|    my_id | country_gb | date_updated        |
+----------+------------+---------------------+
|       10 |        224 | 2013-02-07 00:00:00 |
|       30 |        224 | 2013-02-07 00:00:00 |
|       40 |        299 | 2013-02-07 00:00:00 |
|       60 |        277 | 2013-02-09 00:00:00 |
|       70 |        222 | 2013-02-09 00:00:00 |
|      100 |        349 | 2013-02-09 00:00:00 |

最新の日付の行のみが返されるようにデータベースにクエリを実行するにはどうすればよいですか?

できることはわかってSELECT * from 'MyTable' WHERE 'date_updated'="2013-02-09 00:00:00"いますが、具体的なことをしなければどうなりdate_updatedますか? SELECT date_updated FROM 'MyTable' ORDER BY date_updated DESC LIMIT 11 つのコマンド (のようなもの)で date_updated DESC でテーブルを並べ替え、そのdate_updated値を使用して別の検索を行うことができると思いましたが、これをすべて 1 つのコマンドで行う方法や、方法があるとしてもわかりません。

4

2 に答える 2

2

サブクエリを使用する

SELECT * from 'MyTable' WHERE 'date_updated'=(
    SELECT date_updated FROM 'MyTable' ORDER BY date_updated DESC LIMIT 1)
于 2013-02-10T17:54:07.237 に答える
2
SELECT * FROM MyTable WHERE date_updated = (SELECT MAX(date_updated) FROM MyTable)
于 2013-02-10T17:55:15.890 に答える