By Hibi
Post Time: 2006年9月24日 06:25

SQLで上位5つのレコードを表示する方法

Accessでレコードを表示する際、表示するレコード数が多いと各ハードウェアに負担がかかってしまうことがあります。
「見たいのは最初の10件だけなのにな」
なんてこともあるかと思います。

そんな時、SQLでIDを1〜10などと指定して絞り込む方法もあるのですが、もっと簡単な方法があります。SELECT文で

SQL:
  1. SELECT TOP 10 table1.id, table1.name FROM table1;

と書くこと、上位10件だけを表示することができます。ポイントは「TOP 10」です。

この方法はAccessのみではなくSQL Serverでも使用することができます。(7.0以降)

また、WEBのなどでは11レコード目から15レコード目までを表示することはよくあります。PostgreSQLやMySQLではLIMIT,OFFSETなどで簡単に指定することはできますが、AccessやSQL Serverではさすがにこの機能は持っていません。

では、どうしたらいいかというとSQLを駆使することで解決できます。方法はいくつかあると思いますが、その方法を1つだけ書いておきます。

SQL:
  1. SELECT TOP 5 table1.id, table1.name FROM table1
  2. WHERE NOT EXISTS
  3. (SELECT * FROM
  4. (SELECT TOP 10 * FROM table1) AS exTable1
  5. WHERE table1.id = exTable1.id)
  6. );
  7. ORDER BY table1.id

この方法で、11レコード目から15レコード目までを表示することができます。

一度お試しください。

関連する記事

コメント

(コメントは管理者の承認後に表示されます。過去に承認されている場合は直ぐに表示されます。)

TrackBack URL