• ベストアンサー

SQLplusでデータ抽出時の行番号について

chairwarmerの回答

回答No.1

>現在は抽出時にROWNUM関数を使用しています。 ROWNUMはOracleの関数で、SQLServerには無いと思いますが・・・ カテゴリ違いでしょうか? Oracleの話であるならば case when ROWNUM > 150000 then ROWNUM - 150000 else rownum end の記述ではいかがでしょうか。 (これもOracleのバージョンにより使えるかどうか変わりますが)

hanako14
質問者

お礼

ご回答ありがとうございます。 >現在は抽出時にROWNUM関数を使用しています。 上記は記述ミスです・・・失礼しました。 MODを使用して抽出できそうな事がわかりました。 ありがとうございました。

関連するQ&A

  • rownumを使用して・・・。

    ご相談したい事があります。 Oracle9iにて約100万件あるデータを抽出するのに一度に100万件を抽出すると時間が掛かってしまうと思い、rownumを使用して1万件単位で抽出したいのですが、SqlPlusにて以下のSQLを実行すると「レコードが選択されませんでした」と返ってきます。 SELECT * FROM tbl WHERE rownum >= 10001 AND rownum <= 20000; どうしてなのでしょうか?rownumではこのような使い方では使用できないのでしょうか? ちなみにWHERE以下を rownum >= 1 AND rownum <= 10000; にすると1万件抽出できます。 お分かりの方がいらっしゃれば、ご教授願います。

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • EXCELで100行に1行ずつ抽出したい

    現在卒業研究中でエクセルを使っています。 そこで分からない事があるんですが、約10万行のデータがある列から100行に1行ずつ抽出し、横に1000行の列を作りたいと思ってます。 抽出する行は[1,101,201...]や、[100,200,300]等、番号は問いません。ただランダムではなく、100行ずつ順番に並べたいです。 どなたか詳しい方いらっしゃいましたら、教えていただけないでしょうか? よろしくお願いいたします。

  • 複数のデータを行ごと関数で抽出

    複数のデータを行ごと関数で抽出して、マスターデータが更新されたら抽出先も自動でかわるようにしたいです。何か良い方法はありませんか?

  • クエリ-でデ-タを抽出したいのですが元デ-タに注文番号が重複している行

    クエリ-でデ-タを抽出したいのですが元デ-タに注文番号が重複している行 が沢山あるので、重複している注文番号は1行だけ 抽出するには クエリ-の注文番号 の抽出条件にどのような 関数を使用すれば良いのですか?(ダブリ分は1行のみ抽出) 指導願います アクセス2003

  • エクセルで最新データのみを抽出したいのですが・・・

    タイトルにあるとおり、エクセルで最新データのみを抽出するような関数があればと思い質問させていただきます。 シート1     A列   B列   C列   D列 ・・・ 1行目      佐藤   田中   伊藤  2行目 1日目   ○      3行目 2日目   △   ■    ☆ 4行目 3日目       ○ ・ ・ ・ ・ 18行目 18日目   ■ 19行目 19日目   ○   △   ○  20行目 20日目   ◎   ☆ と、いうようなシートがあったとします。 シート1ではこのように、毎日新しいデータ(記号) が入力されていくとします。 シート2      A列  B列  C列  D列  E列・・・ 1行目  ◎   ○   ■   ☆   △    2行目  1    2    1    1    1 と、いうようなシートがあったとします。 シート2ではシート1で入力されたデータをカウントしていくとします。 この場合、シート1での1行目の各氏名は関係なく、ただ記号のみをカウントしていくものとします。 ただ、カウントするだけの場合でしたらCOUNTIFでいけると思います。 タイトルにあるとおり、最新データからのみカウントしたいと思っているのです。 上のシート2では例として、18~20日分のカウントをしておりますが、実際には10日分程度をカウントしたいと思っております。 ですので、このシートを例にすると20日が最新とした場合 11~20日分の記号をカウントし、そして21日に新たなデータが入力された場合、12~21日分の記号を新たにカウントしたいわけです。 このようなケースにおける関数をご存知の方どなたかご助力いただけますと幸いです^^;

  • データの抽出について

    エクセルの関数について質問します。 あるデータから特定の文字を含む行などを抽出する場合、通常オートフィルター機能を使いますが、これを関数で抽出することはできますでしょうか? 日付が入っているデータ(200行くらい)からある特定の日付で、さらに特定の文字を含まれているものを抽出し利用したいと考えています。 AND関数を使った場合、特定のセルで指定(たとえばB2='2007/3/1'、C2='ある特定の文字')はできるのですが、B2:B100の中から='2007/3/1'でなおかつ、C2:C100='ある特定の文字'といった絞り込みができずに苦戦しています。 よろしくお願いいたします。

  • エクセル データをオートフィルで抽出後乱数

    エクセルのデータでオートフィルを使用し、ある程度絞り込んだものから ランダムなデータを抽出したいのですがやっていてもっとうまくやる方法はないかと思い 質問させえていただきました。 私が考えた方法はオートフィル後のデータにsubtotal関数を使用し上から順位をつけ 他のワークシートに乱数表(rand関数とrank関数を併用)を用意するというのもです。 件数の少ない条件ですとそれでもかまわないのですが、1000件中300件抽出という風になってくると 手間がかかりすぎてしまいます。 もっと簡単にできる方法はないでしょうか? データ自体は一行が1つのデータとなっており大体3万行ぐらいです。

  • 4万行の行選択と一定件数以上のレコードのみ抽出する方法について

    エクセル2000を使用しています。 (1)約4万件の顧客リストのような行データがあり、1行目は項目なので2行目から最後の4万行までを行選択したいのです。マウスで下までドラッグする方法だと時間がかかってしまうので、ショートカットキー又はキーボード操作で簡単に選択できる方法があれば教えて下さい。 (2)その4万件ほどあるリストのA列には住所として都道府県が入力されています。リストの中でA列を昇順で都道府県ごとに並べた時、「100件以上ある都道府県のみ」を抽出する方法、関数などあれば教えて下さい。

  • EXCEL:ゼロ以外のデータを詰めて抽出する方法

    初めて投稿します。よろしくお願いいたします。 EXCEL2000を使用しています。 オートフィルタを使わずに 関数でデータを抽出する方法で悩んでいます。 下記<データ>が存在しています。 2行目がゼロ以外のものを、 別シート<抽出>に上から詰めて抽出したいのです。 <データ>   A列 B列 C列 D列 E列 1行 1  2  3  4  5  ←日付 2行 5  3  0  2  0  ←数字 <抽出>別シート   A列 B列  1行 1  5 2行 2  3 3行 4  2   ↑  ↑   日付 ゼロ以外 関数については中級レベルだと思います。 いろいろ試したのですが、関数を組み合わせてもなかなかうまくいきません。 どなたかご教授いただけないものでしょうか? よろしくお願いいたします。