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】足し算。その2(SUM関数を用いた計算)

今回はSUM関数を用いた足し算について解説します。  (前回は+演算子を用いた足し算について解説しました。⇒【SAS】足し算。その1(+演算子を用いた計算)) /* sum */ data …

【SAS】SASで良く使うテクニック。その7 「条件付き書式」~差分があるセルに色を付けたい時~【Excel】

今回はSASで良く使うテクニックということで、データセットのコンペアにおいて、差分があるセルに色を付けたい時ときは「条件付き書式」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使う …

【SAS】INTNX関数は指定期間の条件を満たす日付けを返す。

今回はINTNX関数について解説します。 /* intnx_1 */ data data1; Id1 = intnx(“YEAR”,’16jan2022’d,1); format Id1 yymmdd …

【SAS】データセットのオブザベーション数で処理を分岐させる方法【IF】【NOBS】

今回は、データセットのオブザベーション数により、処理を分岐させる方法について解説していきたいと思います。 (参考:【SAS】データセットの有無で処理を分岐させる方法【%IF】【EXIST】 | ビジネ …

【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。その2 再帰的使用

今回はSUBSTR関数の再帰的使用について解説していきます。 /* 再帰的 */ data data1; id1=”123456789″; output; run; data data2; set d …