ホームページ > データベース > mysql チュートリアル > MySQLでSQL Serverのrow_Number()関数を複製するにはどうすればよいですか?

MySQLでSQL Serverのrow_Number()関数を複製するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-25 09:02:13
オリジナル
136 人が閲覧しました

How Can I Replicate SQL Server's ROW_NUMBER() Function in MySQL?

mysql

でsql serverのrow_number()をシミュレートします

SQL ServerのROW_NUMBER()関数には、古いMySQLバージョン(8.0以前)で直接的な等価性がありません。 これにより、回避策が必要になります

一般的なアプローチでは、クエリ内で変数割り当てを使用します:

ただし、この方法は、分割が必要な場合に不足しています(複数の列でグループ化)。 単純な変数の増分は、異なるパーティションで適切にリセットされません。 より複雑な可変操作と条件付きロジックが、
<code class="language-sql">SELECT t.*, @rownum := @rownum + 1 AS rank
FROM YOUR_TABLE t, (SELECT @rownum := 0) r;</code>
ログイン後にコピー
。 特に分割されたシナリオのために、より堅牢なソリューションは、Quassnoi:

https://www.php.cn/link/dad1b0570ebcac40e06e54e2c566d452 ROW_NUMBER()

MySQL 8.0以降のバージョン

do関数が含まれており、これらの回避策の必要性を排除することに注意することが重要です。 可能であれば、新しいMySQLバージョンにアップグレードすることが推奨されるソリューションです。

以上がMySQLでSQL Serverのrow_Number()関数を複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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