ホームページ > データベース > mysql チュートリアル > Microsoft SQL Server 2000 で MySQL の LIMIT 句をシミュレートするにはどうすればよいですか?

Microsoft SQL Server 2000 で MySQL の LIMIT 句をシミュレートするにはどうすればよいですか?

DDD
リリース: 2025-01-08 07:30:41
オリジナル
365 人が閲覧しました

How Can I Simulate MySQL's LIMIT Clause in Microsoft SQL Server 2000?

Microsoft SQL Server 2000 での MySQL の LIMIT のレプリケーション

MySQL の LIMIT 句を使用すると、特定の行サブセットの取得が簡素化されます。 SQL Server 2000 にはこの機能が直接欠けているため、回避策が必要です。 この記事では、同様の結果を達成するためのいくつかの方法を検討します。

1 つのメソッドは、ネストされた SELECT ステートメントを使用します。 LIMIT 10, 20 (オフセット 10、フェッチ 20) を模倣するには、以下を使用できます:

<code class="language-sql">SELECT TOP 20 *
FROM (
    SELECT TOP 30 *
    FROM mytable ORDER BY somecolumn
) z2
ORDER BY somecolumn DESC;</code>
ログイン後にコピー

これにより、上位 30 行が選択され、そのサブセットから上位 20 行が選択されます。

また、一意の列 (「キー」など) が存在する場合は、以下を使用できます:

<code class="language-sql">SELECT TOP 20 *
FROM tablename
WHERE key NOT IN (
    SELECT TOP 10 key
    FROM tablename
    ORDER BY key
);</code>
ログイン後にコピー

これにより、一意のキーに基づいて最初の 10 行が除外され、実質的に次の 20 行が返されます。

制限事項: ネストされたクエリのアプローチは、合計行数がページ サイズの倍数でない場合、最後の「ページ」で問題が発生する可能性があります。ユニークカラム方式では、適切なユニークカラムが必要です。 SQL Server 2000 で LIMIT をレプリケートするための純粋な SQL ベースの汎用的に適用可能なソリューションは実現不可能です。 ただし、これらのテクニックは実用的な代替手段を提供します。

以上がMicrosoft SQL Server 2000 で MySQL の LIMIT 句をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート