ホームページ  >  記事  >  データベース  >  MySQL で特定の範囲内でランダムな値を生成するにはどうすればよいですか?

MySQL で特定の範囲内でランダムな値を生成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-28 01:47:29623ブラウズ

 How to Generate Random Values Within a Specific Range in MySQL?

MySQL での特定の範囲からのランダムな値の選択

MySQL では、次の方法で指定された範囲内のランダムな値を選択できます:

SELECT ROUND((RAND() * (max-min))+min) AS `foo`

関数 RAND は、0 と 1 の間のランダムな小数を生成します。この小数を範囲 (最大-最小) で乗算し、最小を加算することで、目的の範囲内のランダムな値が得られます。 ROUND 関数は、結果を最も近い整数に丸めるために使用されます。

ただし、指定されたクエリは 1 つのランダムな値のみを生成します。単一行で複数のランダム値を生成する必要がある場合は、次の代替方法の使用を検討できます:

SELECT ROUND((RAND() * (max-min))+min) + 1 AS `foo`

このメソッドでは、結果に 1 を加算することで、生成されるランダム値が一意であることが保証されます。

回答に記載されている PHP と MySQL の比較では、ランダムな値のみを選択した場合、MySQL の方が高速であることがわかりました。ただし、結果セットに追加の列が必要な場合は、PHP の効率が向上します。

以上がMySQL で特定の範囲内でランダムな値を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。