SQL での限られた行セットの効率的な取得
大規模なデータセットを扱う場合、多くの場合、パフォーマンスを向上させ、リソース消費を管理するために、SQL クエリによって返される行数を制限する必要があります。 データベース システムが異なれば、この目的のために異なる構文が使用されます。
SQL Server: TOP 句の使用
SQL Server では、TOP
句を ORDER BY
と組み合わせて使用すると、結果セットを指定された行数に制限します。 一般的な構文は次のとおりです:
<code class="language-sql">SELECT TOP n ... ORDER BY [column_name]</code>
ここで、n
は必要な行数を表します。 例:
<code class="language-sql">SELECT TOP 10 a.names, COUNT(b.post_title) AS num FROM wp_celebnames a JOIN wp_posts b ON INSTR(b.post_title, a.names) > 0 WHERE b.post_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY) GROUP BY a.names ORDER BY num DESC</code>
このクエリは、num
列に基づいて上位 10 件の結果を降順で返します。
MySQL: LIMIT 句の使用
MySQL は、LIMIT
句を使用して同じ結果を実現します。構文は次のとおりです:
<code class="language-sql">SELECT ... ORDER BY [column_name] LIMIT n</code>
これをクエリ例に適用すると、次のようになります。
<code class="language-sql">SELECT a.names, COUNT(b.post_title) AS num FROM wp_celebnames a JOIN wp_posts b ON INSTR(b.post_title, a.names) > 0 WHERE b.post_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY) GROUP BY a.names ORDER BY num DESC LIMIT 10</code>
このクエリは、SQL Server の例と同様に、num
で並べられた上位 10 行を降順で返します。 これらの手法を使用すると、最も複雑なクエリからもデータ サブセットを効率的に取得できます。
以上がSQLクエリによって返される行数を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。