Как сделать управляемый порядок “перестановки”?

У меня есть ряд вопросов об игре теста в sql базе данных (JavaScript и sqlite на самом деле). Вопросы у всех есть уровень трудности от 1 до 5, 5 являющийся самым твердым. Вот упрощенная визуализация данных...


+---------+--------------+  
|   id    | difficulty   |   
+---------+--------------+  
| 1       |      1       |    
| 2       |      5       |    
| 3       |      2       |    
| 4       |      3       |    
| 5       |      2       | 
| 6       |      2       |    
| 7       |      4       |    
| 8       |      1       |    
| 9       |      5       |    
| 10      |      3       |      
+---------+--------------+   

Теперь я могу переставить их прекрасные в sql или кодировать так, они находятся в произвольном порядке без повторений, но я также хочу управлять способом, которым заказано поле трудности.

Так, например, у меня мог быть переставленный набор вопроса, где порядок уровня трудности похож на это...

1,1,5,2,3,3,2,2,2,4

Это имеет несколько 'глыб' трудности, это не то, что я хочу. Пользователь, играющий в игру, получил бы несколько групп столь же трудных вопросов. Порядок как это был бы лучше...

1,2,3,2,5,4,1,2,3,2

Я хочу удостовериться, что вопросы переставляются, но без сбора в группу трудности. Ровное распространение трудности, где существуют немногие, если любые 'глыбы'. Любая справка на MySQL/javascript (или PHP) была бы большой.

5
задан jfountain 23 September 2011 в 18:49
поделиться