title: MySQL weird ordering requirement
body: <p>I have a MySQL query like so:</p>
  
  <pre><code>SELECT
  id,
  CASE
  WHEN (cond1) THEN 1
  WHEN (cond2) THEN 2
  WHEN (cond3) THEN 3
  END `rank`
  FROM `table`
  </code></pre>
  
  <p>Is there a way to order it so that the result I get will have an alternating order of:</p>
  
  <pre><code>rank
  1
  2
  3
  1
  2
  3
  </code></pre>
  
  <p>The order of the 1s, 2s and 3s doesn't matter as long as they follow the pattern 123123[...]. It can be the order they were entered into the database or random.</p>
  
  <p>I have a database which consists of three types of items and they can be repeatable.</p>
  
  <pre><code>rock      1
  paper     2
  scissors  3
  rock      1
  rock      1
  rock      1
  scissors  3
  paper     2
  </code></pre>
  
  <p>What i want to do is order them rock, paper, scissors, rock, papers, scissors for as long as it can reach.</p>
  
  <p>I'm doing this because a majority of my data (> 90%) is scissors and when I'm displaying my data with pagination, the first page (LIMIT 0, N) is all scissors. Even ORDER BY RAND() wouldn't help because of this majority so this is why.</p>