DB内データのソート

このQ&Aのポイント
  • SQLServer2000を使って数万件のデータをDBにインポートしている初心者ですが、ExcelとDBの行の位置が異なっています。ソートを上書き保存する方法やExcelと同じ行順でインポートする方法はありますか?
  • SQLServer2000を使用して数万件のデータをDBにインポートしていますが、ExcelとDBの行の位置が一致しません。データをExcelと同じ行順で表示する方法やソート状態を保存する方法はありますか?
  • SQLServer2000を使用して数万件のデータをインポートしましたが、ExcelとDBの行の位置が異なっています。ソート状態を保存する方法やExcelと同じ行順でインポートする方法について教えてください。
回答を見る
  • ベストアンサー

DB内データのソート

 SQLServer2000を使って1週間の初心者です。  現在、ExcelからDBに対して数万件単位でデータをインポートしています。(DTSインポートウィザード使用)  インポート後、Enterpriseマネージャにてデータを見ると、ExcelとDBとの行の位置が異なっています。  (例)2万件を2回インポートした場合   ID_000001 ・ ・   ID_020000   ID_020059 ・ ・   ID_040000 ※ID_020001~ID_020058は、ID_020000以前のレコードの間に存在したりします。  一意である「ID_??????」行でSQL文ソート(ORDER BY)して見た目をExcelと同様の行順にしても、EnterPriseManagerでテーブルを閉じ、再度テーブルを開いたら以前のデータのままです。  ソート状態を上書き保存するようなことはできないでしょうか?  また、Excelと同じ行順でインポートする方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

一般的にリレーショナルデータベースというのは、行が格納される順序について何ら保障しません。 ですので、Excelと同じ行順というのは出来ません。 一時的には出来たとしても、その後データの追加や最適化の際に行順序が入れ替わることもあります。 ソート順序は、データを取り出す際に指定するものです。 データを取り出すツール側で、ORDER BY するのが正しい方法です。

関連するQ&A

  • 70000行以上のソートをしたいです

    70000行以上のデータ(人名)があります。 それを、読み順でソートしたいのですが、エクセルでは行数が多すぎてソートできませんでした。 ほかのアプリケーション、またはプログラムなどで大量行のソートは可能になりますか? 何かよい方法あれば、教えてください。 それではよろしくお願いします。

  • DB内にあるデーターのソート

    こんばんわ。 以下の件について、どなたがサンプルソースを交えてご教授下さい。 環境: windows Apache2 + PHP5 + MySQL データーベースにある、2つのフィールドを対象にして データーをソートして表示させたいのですが、なにかいい方法はありませんか。 例 対象データベース↓ id name point item 1 user1 340 item1 2 user2 540 item1 3 user3 210 item2 4 user4 319 item2 5 user5 233 item3 このデータベースを読み込み、以下の様にソートし表示したいのです。 ◇item1 user2:540 user1:340 ◇item2 user4:319 user3:210 ◇item3 user5:233 ※item欄にあるデーター毎に、pointの高い数値に並び替える。 以上、よろしくお願いします。

    • 締切済み
    • PHP
  • 10万件のデータに対してチェックを行う。

    こんにちは。Access 2003を使用しています。Accessのテーブルには10万件程度のデータがはいっています。 Excelを開き、1行目から順に読み取って、テーブルにインサート・アップデートをしていきます。 例えば、Excel A列にIDがあったとします。AccessのテーブルにそのIDがなければ、インサート、あればアップデートという仕組みにしています。 データ件数が増えてきて、今は10万件に対し、8万件がアップデートの対象です。処理が終わるのに物凄く時間がかかります。 何かよいアイディアはないでしょうか?例えば、こういった技術を使えばいいとか、こっちの技術を勉強して乗り換えたほうがいいよとかです。よろしくお願いします。

  • エクセルでのソート

    エクセルでセルの背景色でソートさせたいのですがどのようにすればいいのでしょうか。(色別のソート順はユーザで設定した順番で行ごと) 宜しくお願いします。

  • エクセルでのソートについて

    エクセルで縦方向(複数列)にデータを入れていっているのですが、 その中の1つの列のデータを昇順とかでソートしたときに、 その列しかソートされません。 行単位で意味を持ったデータなので、 どこの列でソートしても行も追随してソートしたいのですが、 どうすればいいのでしょう?

  • ソートがきかないです

    エクセルのデータを削除したり追加したりした後で担当者別に並び替えようとしたのですが、行の半ばまではソートが効いているようなのに、途中からはソートが効かなくなってしまっています。 原因が分からないので困っております。 考えられる原因を教えて下さい。 (過去ログで「再ソート」なるものがあるらしいと見たのですが、もしそれで解決するなら、再ソート(データの範囲変更?)はどのようにしてやるのでしょうか。)

  • excelでsort

    60 50 40 30 20 10 10 20 30 25 15 05 ・ ・ ・ ---------------------- 上記のようにデータ400件ほど入力されています。 これを行毎に簡単にsortするにはどうしたらいいでしょうか? sort 結果-------------- 10 20 30 40 50 60 05 10 15 20 25 30

  • 多段ソート

    C言語というよりはアルゴリズムの話です。 [名前], [生年月日] の2つのカラムで表される固定長の行データが羅列されたファイルがあります。 また、各カラムを比較して行をソートした場合にどの行が何番目にくるかといったインデックス情報を木構造で保持したファイルがあります。 (このファイルは行データの追加・削除時に更新される) これらのファイルを利用して、生年月日でソートし、かつ日時が同じ場合は名前順にソートした場合の上から10個分だけのデータを取り出したいのですが、効率のよい方法は無いでしょうか? 全データを読み込んでから、バブルソート等の順序を崩さないソートを多重にかけることはなるべく避けたいのです。 そのためにソート済みのインデックス的な役割を持つファイルを用意しているのですが、多段ソート時にどう応用すればよいのかわからなくなってしまいました。 例 日時、名前の順にソートされた上4つ分のデータが欲しい。 【一覧】 [1行目] 10/20, Aさん [2行目] 11/30, Fさん [3行目] 9/10, Cさん [4行目] 11/30, Bさん [5行目] 12/10, Dさん 【生年月日でソートされた インデックス】 9/10, 3行目 10/20, 1行目 11/30, 2行目 11/30, 4行目 12/10, 5行目 【名前でソートされた インデックス】 Aさん, 1行目 Bさん, 4行目 Cさん, 3行目 Dさん, 5行目 Fさん, 2行目 得たい結果 [3行目] 9/10, Cさん [1行目] 10/20, Aさん [4行目] 11/30, Bさん [2行目] 11/30, Fさん

  • エクセルのソートについてお尋ねします

    エクセルでソートを行う場合、データを行・列いずれにも入れて、ソートしたい場合、どのようにすればよろしいでしょうか?

  • ソート順の一番若い者を取得する

    お世話になります。 Oracle SQL文で質問があります 以下のようなテーブルから【結果】のような レコードを取得したいのです id id2 が同じものでsort順が一番若いものを 取り出すSQLです。 おわかりの方よろしくお願いします。 id id2 sort 1 1 1 1 1 2 1 2 1 1 2 2 1 2 3 1 3 1 【結果】 id id2 sort 1 1 1 1 2 1 1 3 1