Given this exemplary relation and data
|_id_____|_type____|_name________|_date_______________|
| 1 | 1 | ajshdf | 2012-02-18 12:35:00
| 2 | 1 | jkhae | 2012-02-18 12:35:00
| 3 | 1 | dsfad | 2012-02-18 12:35:00
| 4 | 2 | 3f3ad | 2012-02-18 12:35:00
| 5 | 2 | gad64 | 2012-02-18 12:35:00
| 6 | 2 | as3da | 2012-02-18 12:35:00
| 7 | 3 | faf3a | 2012-02-18 12:35:00
| 8 | 3 | ga3d3 | 2012-02-18 12:35:00
| 9 | 4 | jzd64 | 2012-02-18 12:35:00
What is the best way to achieve a resulset that will distribute the records as evenly as possible, ordered by the types?
What I want is that the result records are ordered in a manner that the newest entries are always on top, but that the types are altered around, so that the result looks something like this:
|_id_____|_type____|_name________|_date_______________|
| 1 | 1 | ajshdf | 2012-02-18 12:35:00
| 4 | 2 | 3f3ad | 2012-02-18 12:35:00
| 7 | 3 | faf3a | 2012-02-18 12:35:00
| 9 | 4 | jzd64 | 2012-02-18 12:35:00
| 2 | 1 | jkhae | 2012-02-18 12:35:00
| 5 | 2 | gad64 | 2012-02-18 12:35:00
| 8 | 3 | ga3d3 | 2012-02-18 12:35:00
| 3 | 1 | dsfad | 2012-02-18 12:35:00
| 6 | 2 | as3da | 2012-02-18 12:35:00
| 7 | 3 | faf3a | 2012-02-18 12:35:00
As you see, the type is altered and cycled in the result – 1, 2, 3, 4, 1, 2, 3, 1, 2, 3
Pretty inefficient but I think it will work: