次の(簡略化された)構造のテーブルがあります。
INT id,
INT type,
INT sort
必要なのは、次のようにデータを並べ替えるSELECTです。
sort同じタイプのすべての行は順番に並べられ、内部で昇順で並べ替えられ、- 1つのタイプのすべての「ブロック」は、最小値でソートされます
sort。 
例:
テーブルが次のようになっている場合:
| id | type | sort |
|  1 |   1  |   3  |
|  2 |   3  |   5  |
|  3 |   3  |   1  |
|  4 |   2  |   4  |
|  5 |   1  |   2  |
|  6 |   2  |   6  |
クエリは次のように結果を並べ替える必要があります。
| id | type | sort |
|  3 |   3  |   1  |
|  2 |   3  |   5  | 
|  5 |   1  |   2  |
|  1 |   1  |   3  | 
|  4 |   2  |   4  |
|  6 |   2  |   6  | 
これで十分に明確になることを願っています。
これは非常に一般的な要件であるため、私には見えますが、自分でユースケースに転送できるほど近い例は見つかりませんでした。少なくとも1つのサブクエリを回避することはできないと思いますが、自分でそれを理解することはできませんでした。
よろしくお願いします。
ちなみに、このクエリはCakePHP 2.1で使用するので、Cakeで快適に実行できる方法をご存知の場合は、お知らせください。