2016-12-09 4 views
0

MySQLのランダム変数に関する助けが必要です。私はそれが1とテーブルの姓の最高値の間のランダムな値を選ぶようにします。解決策は私を逃す。MYSQLテーブルの1から最大値までのランダムな値

SET id = ROUND(RAND()*((SELECT COUNT(*) FROM surnames)-1)+1);     
SET surnameValue = (SELECT asurname FROM surnames WHERE surname_id = id); 

ありがとう!

答えて

0

単一の値が必要なのか、各行の値が必要なのかわかりません。したがって、私はあなたに両方の解決方法を示します。私はあなたがランダムな整数を求めていると仮定しようとしています。

テーブルが表示されないので、最大値を定義する列として 'valueField'というラベルを付けるつもりです。 'primaryKeyField'は、自分自身にテーブルを結合できるフィールドです。あなたが1つの値をしたい場合はここで

は、あなたが選択した各列の値をしたい場合はここで

SELECT (FLOOR(1 + RAND() * max(valueField))) AS value 
FROM surnames 

が...

SELECT (FLOOR(1 + RAND() * `max`)) AS value 
FROM surnames s 
INNER JOIN (SELECT primaryKeyField, max(valueField) as `max` 
      FROM surnames 
      GROUP BY valueField) r ON r.primaryKeyField = s.primaryKeyField 
ソリューションです...ソリューションです
関連する問題