2009-11-18 6 views
0

J'essaie de sélectionner un nombre d'éléments à partir d'une table mysql en fonction de leur poids, la table d'exemple étant la suivante.Mysql Sélection basée sur le poids

Name | Weight
-------------
Bobo | 0.1
Jill | 0.3
Andy | 0.5
Dave | 0.9

où le poids est un flotteur entre 0 et 1.

Ce que je voudrais faire est d'être en mesure de sélectionner jusqu'à à x lignes en utilisant le poids avec un facteur aléatoire wh Par la suite, les résultats seront randomisés en fonction du poids de l'entrée. J'utilise PHP en ce moment pour accomplir cela et j'aimerais pouvoir voir comment cela peut être fait en MySQL. Je pensais dans le sens de ce code mysql semi-pseudo.

SELECT name, (weight calculation) as weight_calc ORDER by weight_calc LIMIT 0,x

+0

Quelle est la signification ultime du poids, alors? Est-ce pour indiquer comment (in) probable que la rangée est contenue dans l'échantillon aléatoire? – wallyk

+0

montrant votre code PHP pourrait aider. –

Répondre

3

trouvé la réponse après avoir navigué ici un certain temps. Loi de gazon, je trouve la réponse après avoir posté la question.

SELECT * FROM table ORDER BY weight*random() DESC LIMIT x

Merci hacker, lien.

http://stackoverflow.com/users/95382/hacker

Questions connexes