リーダーボードとフロントエンドのページング効果を達成する方法

前回の記事では、ORDER BY句を使用してクエリ結果を並べ替える方法について説明しました。

データをソートした後、さらに処理できます。上位10件のヒット、映画のランキング、ゲームのランキングなど、さまざまなトップNランキングがよく見られます。また、クライアントにデータを表示する場合、通常、すべての結果を一度に一覧表示するのではなく、一度にN(10、20、50など)レコードを表示し、「次のページ」、「前のページ」、およびその他のページめくりを提供します特徴。この記事では、SQLステートメントを使用して上記の2つの一般的な機能を実現する方法について説明します。

トップNランキング

トップNランキングの原則は、最初に並べ替えてから、上位Nレコードに戻ることです。プロセスの概略図は次のとおりです。

アバター

トップNランキングを達成するには、主に2つの方法があります。

  • 標準SQLによって提供されるFETCH構文。
  • 別の一般的なLIMIT構文。

標準SQLを使用してトップNランキングを達成する

次の例では、FETCH句を使用して、月額給与の上位5人の従業員をクエリします。

-- Oracle、SQL Server 以及 PostgreSQL 实现
SELECT emp_name, salary
  FROM employee
 ORDER BY salary DESC
OFFSET 0 ROWS
 FETCH FIRST 5 ROWS ONLY;

その中で、ORDER BYは月額給与を高から低にソートします; OFFSETは0行をスキップすることを意味します;次にFETCHは最初の5つのデータ、つまり従業員の上位5の月給を返します。このステートメントの結果は次のとおりです。

おすすめ

転載: blog.csdn.net/horses/article/details/108729112