ORDER BY SAS SQL

【SAS】ORDER BY句無しで抽出した際の出力順【SQL】

投稿日:

この記事の要約:「ORDER BYを使わない場合、SQLで抽出した際の並び順は保証されない

SQL文で抽出を行った際に、困ったことが起きました。

同じPG文なのに1回目と2回目で出力結果に違いがあるのです。

仕事上でこんな事象が起きて、仕事上のPGを載せる訳にはいかないので、

このブログ記事を書いているプライベートPC上で再現をしようとしたのですが、

再現できませんでした。

なのでこれから貼るキャプチャはイメージ図として見ていただけると幸いです。

結論から言うと、「ORDER BYを使わない場合、SQLで抽出した際の並び順は保証されない」みたいです。

イメージ図で表すと、こんな感じ。

DBから抽出した且つ、ORDER BY句が無い時に、今回の事象が起こり得るようです。

体感ですが、DBから抽出する際に、件数が多いほど今回の事象が見られやすいかと思います。

今回の事象を回避するには、

といったことが有効だと考えられます。

-ORDER BY, SAS, SQL

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】ODS PDFは結果内容をPDFファイルとして出力する

今回はPDFについて解説します。 /* pdf */ data data1; Id1=1111; Char1=”AAAA”; output; Id1=2222; Char1=”BBBB”; outpu …

【SAS】VERIFYは引数の文字を含まない最初の位置を返す

今回はVERIFYについて解説します。 /*正常形*/ data data1; Id1=”AAAA”; output; Id1=”ABAB”; output; Id1=”ABCD”; output; …

【SAS】COMPAREはデータセットの比較に便利

今回はCOMPAREについて解説します。 /* 正常形 */ data data1; id=”A”; chiku=”SHINJUKU”; output; id=”B”; chiku=”ICHIGAYA …

【SAS】ARRAYステートメントは配列を設定することができる。その2

今回はarrayステートメント(その2)について解説します。 以前、過去記事でarrayステートメントについて解説していました。⇒【SAS】ARRAYステートメントは配列を設定することができる。 | …

【SAS】||(!!)は文字列の連結ができる。【結合】

今回は||(!!)について解説します。 /* || */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1=” BBBB”; o …