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/