InnoPM開発日誌

株式会社電縁が提供するプロジェクト・工数管理InnoPMについて

mysqlでテーブルから最新のレコードを取得するには!!

こんにちは。達人ブログです。

今日はmysqlでテーブルの最新のレコードを取得するためのsqlをご紹介します。

基本的なselect文にorder by句と、「desc limit 1」を追加すればOKです!
(※desc limit 1は単独では利用できず、order by句と付属している必要があります。また、limit句は最新レコードを取得したい場合に用いれば良いので、全レコードを取得したい場合は書く必要がありません。)

limit以後の数字の箇所を3や10に変更すれば、最新の3行や10行を取得できます。

また、「desc limit 5, 10;」などと記述すれば、指定した位置(先頭からの場合は0)から指定した件数のレコードを取得することができます。
(上記の場合は先頭から6行目から11行目のレコードを取得したい時に書くlimit句です)

実際のSQL文を見てみましょう。

table1からfield1の順番で最新の3行のレコードを取得したい場合は、

select * from table1 order by field1 desc limit3;

と書きます。

指定行のレコードを取得したい場合は、

select * from table1 order by field1 desc limit5,10;

と書けば最新のレコードの先頭6行目から11行目のデータを取得できます。

ポイントはorder by句でどのフィールドの最新レコードを取得したいのか指定してあげることと、limit句で取得したいレコードの数、取得したい範囲を指定してあげることです。

以上です。

また次回に!!


弊社では工数管理ツールInnoPMをASP製品として提供しています。
工数管理に興味がありましたら、是非以下のURLをご参照下さい。
http://www.innopm.com/