データが次のように見えるテーブルがあります。
ID | PARENT_ID | several_columns_to_follow
---+-----------+--------------------------
1 | 1 | some data
2 | 2 | ...
3 | 1 | ...
4 | 4 | ...
5 | 3 | ...
6 | 1 | ...
7 | 2 | ...
8 | 3 | ...
要件ごとに、(ユーザーの要求ごとに) 2 つの方法で並べ替えを許可する必要があります。
1) 連続した親内の ID のランダムな順序 - これは次の方法で簡単に実現できます
SELECT * FROM my_table ORDER BY parent_id, random()
2) ランダムにソートされた親内の ID のランダムな順序 - これが私が立ち往生している場所です。明らかに、すべてを並べ替えるだけではrandom()
あまり役に立ちません。
助言がありますか?理想的には 1 つの SQL ステートメントですが、必要に応じて複数の SQL ステートメントを使用することもできます。データの量は多くないので、パフォーマンスについては心配していません (最終結果で約 100 行を超えることはありません)。