• 締切済み

キー項目が複数ある場合のソートについて

Marionetteの回答

回答No.3

http://www.okweb.ne.jp/kotaeru.php3?q=634324の質問でしょうか? 本当に回答が欲しいのなら、質問の仕方を考えてください。こんな質問では誰も回答できません。 (何故、捕捉に書いてあるようなことを最初から書かないのでしょう?) DBは何をつかってるの? データの内容は? 使用言語は? 『技術系メーリングリストで質問するときのパターン・ランゲージ』をよく読んで質問の仕方を学んで再度質問しましょう。 http://www.hyuki.com/writing/techask.html きっと、どなたかが回答してくださるでしょう。

参考URL:
http://www.hyuki.com/writing/techask.html

関連するQ&A

  • 複数キーによるソート

    ここに、3つperlの配列があって、それぞれ問題番号、英単語、日本語訳が入っています。 これらを、例えば「英単語順」「問題番号順」などに並べ替えて先頭から順に取り出したいのですが、sort関数は配列ひとつに対してしか操作できないので、悩んでいます。 たとえば問題番号←→英単語の配列間に単語ごとのリンクを張って、片方をソートしてもリンクをたどるともう片方が取り出せるといったことはできるのでしょうか? また、配列のソートのルールを使って別の配列をソートする・・・といったことでも構いません。よろしくお願い致します。

    • ベストアンサー
    • Perl
  • 複数のキーで配列をソートするには?

    配列が複数あって、キーを3つでソートする場合には どのようにしたらよろしいでしょうか? @a = ("A","B","C","B","A" ); @b = ("Y","X","Z","X","Z" ); @c = (4,3,5,2,1); 結果として、 A,Y,4 A,Z,1 B,X,2 B,X,3 C,Z,5 のように表示したいのですが、2次元配列でないと無理でしょうか? ちょっと分かりにくいかもしれませんが、Excelなどで、3つのキーで 優先順位を設定してソートするようなイメージです。

    • ベストアンサー
    • Perl
  • 複数の項目によってソートしたい

    PHP5.2.4を使用しています。 ユーザー定義比較関数を利用して、value1が同じ場合value2を基準にソートしたいのですが、 value1の比較とvalue2の比較をどのように組み合わせれば良いのでしょうか? class Person { public $name; public $value1; public $value2; public function __construct($name, $value1, $value2) { $this->name = $name; $this->value1 = $value1; $this->value2 = $value2; } } function compareByValue1($val1, $val2) { if ($val1->value1 < $val2->value1) return 1; if ($val1->value1 > $val2->value1) return -1; return 0; } $p[0] = new Person('aaa', 100, 200); $p[1] = new Person('bbb', 100, 100); uasort($p, 'compareByValue1'); //←value1単体の比較はできるけど、どのようにvalue2を絡ませていけばよいかが分かりません・・・ print_r($p);

    • ベストアンサー
    • PHP
  • 多項目のソート

    現在Excelを使っているのですが 複数項目のソート(列1を最優先、列2を2番目に優先、列3を3番目に)はあるのですが 3項目までしか設定ができなくて困っております。 これ以上の数をソートできて、尚且つ優先順を設定できるソフト・ツールはないでしょうか? ご存知の方がいらっしゃいましたら宜しくお願い致します。 フリーウェアでお願いします。

  • エクセルの複数項目をソートするには?

    すみませんが教えて頂けませんか 現在勤めている会社のデータなのですが、 セルのA列(顧客番号:数字のみ)と B列(顧客名:漢字仮名まじり)にあるデータを元として I列とJ列にある項目をA列とB列と全く同じ並びに ソートさせてそれに付随している売り上げの数字が 入力されているK列とL列とM列も I列とJ列に連動して一緒にソートする方法は無いでしょうか? どうぞ宜しくお願いします

  • ソートを解除する場合

    ADOで フォルタを解除する場合は、 rs.Filter = adFilterNone ですが、 ソートを解除する場合のコードがわかりません。 rs.Sort = "No ASC" このようにソートしています。

  • 2次元配列を複数項目でソートしたい

    開発環境:Visual Web Developer 2008 express 言語:Visual Basic 制限事項:Detatableの使用は禁止 目標: 2次元配列を複数項目でソートしたい。     (1)「科目名」で昇順ソート(ソート処理(1))   (2)「氏名」で昇順ソート(ソート処理(2))     (3)「実施日」で昇順ソート(ソート処理(3))     ※並べ替えた結果を利用して色々な処理を行いたいため、表示するコントロールなどに用意された機能は使わず、内部的に並べ替えるロジックを自分で書きたいと考えています。ソート処理(1)~(3)に書くロジックをお教えいただけると助かります。    Dim results(,) As String Dim i As Integer = 0     ReDim Preserve results(3, 11) '【武田茂・国語成績】 results(0, 0) = "国語" results(1, 0) = "武田茂" results(2, 0) = "1月10日実施" results(3, 0) = "86点" results(0, 1) = "国語" results(1, 1) = "武田茂" results(2, 1) = "2月10日実施" results(3, 1) = "21点" results(0, 2) = "国語" results(1, 2) = "武田茂" results(2, 2) = "3月10日実施" results(3, 2) = "51点" '【藤代慶介・国語成績】 results(0, 3) = "国語" results(1, 3) = "藤代慶介" results(2, 3) = "1月10日実施" results(3, 3) = "86点" results(0, 4) = "国語" results(1, 4) = "藤代慶介" results(2, 4) = "2月10日実施" results(3, 4) = "21点" results(0, 5) = "国語" results(1, 5) = "藤代慶介" results(2, 5) = "3月10日実施" results(3, 5) = "51点" '【武田茂・英語成績】 results(0, 6) = "英語" results(1, 6) = "武田茂" results(2, 6) = "1月10日実施" results(3, 6) = "86点" results(0, 7) = "英語" results(1, 7) = "武田茂" results(2, 7) = "2月10日実施" results(3, 7) = "21点" results(0, 8) = "英語" results(1, 8) = "武田茂" results(2, 8) = "3月10日実施" results(3, 8) = "51点" '【藤代慶介・英語成績】 results(0, 9) = "英語" results(1, 9) = "藤代慶介" results(2, 9) = "1月10日実施" results(3, 9) = "86点" results(0, 10) = "英語" results(1, 10) = "藤代慶介" results(2, 10) = "2月10日実施" results(3, 10) = "21点" results(0, 11) = "英語" results(1, 11) = "藤代慶介" results(2, 11) = "3月10日実施" results(3, 11) = "51点" '下記をキーとして、(1)から順に昇順ソートをかける '(1)科目名 'ソート処理(1) '(2)氏名 'ソート処理(2) '(3)実施日 'ソート処理(3) よろしくお願い致します。

  • ピボットテーブルを複数項目でソートしたい

    ピボットテーブルに展開したデータを、表示している複数の行項目 によりソートすることは可能でしょうか? 行項目として以下が設定されており、  1.科目  2.仕入先  3.購入種類 列項目としては  4.仕入月 データとしては  5.仕入金額 並べ替え変えたい順序としては、 科目毎の年間仕入金額が多い順の購入種類昇順としたいので、 以下のように設定したいのですが、 ピボットテーブル フィールド詳細オプションでは 1項目しかソート順に指定することができません。  1.科目昇順⇒5.合計/仕入金額降順⇒3.購入種類昇順 上記のようなソートを行う方法はありますでしょうか?

  • C#で複数キーのソート

    VS2005のC#で作成してます、C#超初心者です。 複数キーでのソートを行いたいのですが、リファレンスを見ても何がなんだか分からず・・。 WEBで同じような事が http://blogs.wankuma.com/episteme/archive/2008/08/23/154066.aspx に紹介されてました。ここを元に動作確認したいのですが、コンパイルが通りません。 class MultiKeyComp<T> : System.Collections.Generic.IComparer<T>{  private Comparison<T>[] comps;  public MultiKeyComp(params Comparison<T>[] c){   comps = c;  } public int Compare(T x, T y){   int result = 0;   foreach (Comparison<T> c in comps){    if ((result = c(x, y)) != 0) break;   }   return result;  } } 動作部... int N = 10; データ[] data = new データ[N]; for ( int i = 0; i < N; ++i ) {  データ datum = new データ();  datum.key1 = "0000001111";  datum.key2 = "0000001112";  datum.key3 = "0000001110";  data[i] = datum; } Comparison<データ> c =  new MultiKeyComp<データ>( //↓ここが分かりません・・  (x,y) => x.key1.CompareTo(y.key1), (x,y) => 0, (x,y) => y.key3.CompareTo(x.key3) ); Array.Sort(data, c); どこが悪いのでしょうか?お分かりになりましたらよろしくお願いします。

  • ソート

    cygwinのCシェルで、ファイルの内容をソートしたいです。 数字だけだとsort -n でソートされるのですが、頭にアルファベットがある場合に ソートする方法はあるでしょうか? 下記のようになってしまうのですが、頭にアルファベットがあっても後ろの数字でソートしたいです。 L1 L10 L101 L102 L2 L20 L201 L3 L30 L301 L401