2012-03-27 9 views
-1

グループごとに1つのランダムな行を選択して、合計N行にしたいと考えています。例:MySQL - グループごとにN個の合計行を持つランダムなエントリを選択してください。

単純なテーブルスキーマ:

id shoetype shoename

各 "基" shoetypeであり、複数存在するshoenamesshoetype当り。私は合計N行を選択できるようにしたいが、それぞれshoetypeから1つのランダムshoenameが欲しい。


SELECT * FROM table GROUP BY shoetype ORDER BY RAND()は、各タイプからランダムに1ちょうど最初shoetypeを取得していないようです...私は、各グループからランダムに1を取得するクエリを作成する方法がわからないのですか?

答えて

0
+0

グループごとにランダムなエントリが必要な場合、これは機能していないようです – ina

+0

rand_idとして選択したgroupnameを(選択するとRAND SUBSELECT) 、レコード内のrand_idを内部結合して残りのデータを取得する –

0

を達成するための最良の方法だがSELECT * FROM shoetype

によるMTグループはそれで私のショットですと(RAND()によってmytableは順番から選択します*)。これは、テーブルの順序をスクランブルしてから、通常のグループの並べ替えを行います。

関連する問題