データベースに存在しない新しいランダム フィールドを使用して、データベースからデータをエクスポートする必要があります。何かのようなもの:
SELECT field1, field2, rand(1,5) as field3 FROM table
可能です?
データベースに存在しない新しいランダム フィールドを使用して、データベースからデータをエクスポートする必要があります。何かのようなもの:
SELECT field1, field2, rand(1,5) as field3 FROM table
可能です?
はい、RAND()
0 から 1 の間の値を返します。数学を使用して、その数値が必要な範囲内になるようにします。
私はこのように解決しました:
CEIL( RAND( ) *5 ) ASフィールド3
皆さん、ありがとうございました!
MySQL の回答ではありませんが、役立つ場合があります。SQL Server では、「RAND」関数には行間で異なるシードが必要です。したがって、簡単な方法は次のとおりです。
SELECT field1, field2, rand(id) as field3 FROM table
これは利用可能な ID に依存しており、疑似ランダムにすぎません。field3 の同じ値が毎回出力されます。これを回避するには、たとえば、この投稿の手法を使用して、id を時間ベースの値でインクリメントします。
SELECT field1, field2, rand(id + datediff(s, '19700101', getdate())) as field3 FROM table
これにより、0 から 1 の間の値が得られ、必要に応じて、簡単な数学を使用して 1 から 5 の間の値にすることができます。
これを MYSQL で使用できます:-
SELECT field1,field2,CAST((RAND() * 3) + 1 AS UNSIGNED) as Randomnumber from tablename
範囲内の乱数を生成します。