ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3943995 Oracleのorder byについて
質問者:msak777 こんばんわ、
質問です。
oracle8iを使ったWebアプリケーションがあり
oracleのバージョンを10gへアップした際に、web画面で表示させる
項目のソート順が変わってしまいます。

SQLでselectした値を表示させているのですが、表示する値は
同じなのに表示される順序がバージョンアップの前と後で違います。
ちなみにorder by指定してあります。

この事象の原因とoracleのバージョンアップは何か関係があるのでしょうか?
過去に似たような経験がある方のアドバイスや解決方法をご存知の方がおりましたら何卒ご教示ください。
お願い致します。
困り度:
  • すぐに回答を!
質問投稿日時:
08/04/12 23:11
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 似たような経験がありますが、どうもOracle10Gになって指定のない
部分については順不同となるようです。仕方のない話ですが。

8i当時は例えば日付、伝票No.、行とあった場合に
日付、伝票No.のみでorder by としていても、データの生成された
時間順序が行No.順であれば暗黙的に行まで並んでくれましたが、
10Gは指定しないと並びません。行がばらばらとなってしまいます。

バグではなく、指定の甘さが原因なのでこれは指定するしかないでしょうね。確実に並ばせたいのであれば。
order by をすべて指定してもそのとおりに並ばないということではないと思いますが。
回答者:bonnumaman
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/04/13 01:28
この回答へのお礼なるほど、そういうことでしたか。
理解しました。
どうもありがとうございました。