問題は次のとおりです。テーブルに2つの列があり、グループごとに同じ順序にする必要があります。今後その仮定をする前に、これが既存のデータに当てはまることを確認したいと思います。
いくつかのサンプルデータ:
gid  c1  c2
1    1   5
1    2   7
2    1   22
2    2   38
2    3   40
3    1   4
3    2   8
3    3   2
ご覧のとおり、私が使用した場合
select * from table t where t.gid = 1 order by c1
、結果は同じになり、と同じように順序付けられ
select * from table t where t.gid = 1 order by c2ます。
結果はgid=2でも一致します。ただし、gid = 3で同じことを行うと、順序は一致しなくなります。その場合、による順序付けc2は、による順序付けとは異なる結果になるためc1です。
テーブル全体をチェックして、これらの列のいずれかによる順序付けが、の各値に対して同じ結果になることを確認したいと思いますgid。サブクエリでMINUS許可されていないため、   Oracleは機能しません。order byの制限のために機能しない私の最初の試みは、次のMINUSとおりでした。
select gid, c1, c2 from table order by gid, c1, c2
  minus
select gid, c1, c2 from table order by gid, c2, c1;
それが答えに役立つなら、私はオラクル11gを使用しています。