0

データベースに存在しない新しいランダム フィールドを使用して、データベースからデータをエクスポートする必要があります。何かのようなもの:

SELECT field1, field2, rand(1,5) as field3 FROM table

可能です?

4

4 に答える 4

3

はい、RAND()0 から 1 の間の値を返します。数学を使用して、その数値が必要な範囲内になるようにします。

MySQL RAND ドキュメント

于 2013-06-28T14:06:58.540 に答える
0

私はこのように解決しました:

CEIL( RAND( ) *5 ) ASフィールド3

皆さん、ありがとうございました!

于 2013-06-28T14:25:08.063 に答える
0

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 の間の値にすることができます。

于 2013-06-28T14:08:45.737 に答える
0

これを MYSQL で使用できます:-

SELECT field1,field2,CAST((RAND() * 3) + 1 AS UNSIGNED) as Randomnumber from tablename

範囲内の乱数を生成します。

于 2013-06-28T14:09:04.133 に答える