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】MEANSも集計に便利(デフォルトで結果を出力)【NOPRINT】

今回はMEANSについて解説します。 似た文法でSUMMARYプロシージャがあります。 【SAS】SUMMARYは集計に便利 今回のMEANSプロシージャも集計を行うのですが、こちらはデフォルトで「結 …

【SAS】INDEXC関数は文字列から特定の文字を探して位置を返す。

今回はINDEXC関数について解説します。 data data1; Id1=”1111″; Id2=”1111″; Id3=”1111″; output; Id1=”2111″; Id2=”2111″ …

【SAS】&SYSUSERID.はログインIDを取得する自動マクロ変数

今回は&SYSUSERID.について解説します。 /* &sysuserid. */ %put &sysuserid.; &sysuserid.はログインIDを自動マク …

【SAS】SASUSERライブラリの性質について解説

今回はSASUSERライブラリについて解説します。(対比参考:【SAS】WORKライブラリの性質について解説 | ビジネスイッチ (how-to-business.com)) libnameを使わなく …

【SAS】IFステートメントは処理を分岐できる。その1

今回はSASのif文について解説していきたいと思います。 【IF文の関連記事】 (明示的、暗黙的OUTPUT:【SAS】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」 | ビジネスイ …