<div dir="ltr">須藤様<div><br></div><div>佐藤です。</div><div><br></div><div>ご連絡をありがとうございます。</div><div>なるほど、参照型の使い所がわかりました。</div><div><br></div><div>もしFoodテーブルのcategoryカラムがすでに文字列で入っていて</div><div>データを作り直す場合は次のようなことで移行するということですね。</div><div><br></div><div>1, データをダンプして、スキーマの部分だけ修正してロードしなおす。</div><div>2, column_copyを使ってカラムをコピーする</div><div><br></div><div>試してみたいと思います。ありがとうございました。</div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">2015年9月16日(水) 22:50 Kouhei Sutou &lt;<a href="mailto:kou****@clear*****">kou****@clear*****</a>&gt;:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">須藤です。<br>
<br>
In &lt;<a href="mailto:CA%2BTq-Rpm0gUZWFTG%2Bq6U****@mail*****" target="_blank">CA+Tq****@mail*****</a>&gt;<br>
  &quot;[groonga-dev,03507] データのソートについて&quot; on Wed, 16 Sep 2015 06:41:09 +0000,<br>
  Hiroyuki Sato &lt;<a href="mailto:hiroy****@gmail*****" target="_blank">hiroy****@gmail*****</a>&gt; wrote:<br>
<br>
&gt; select時のソートについて教えて下さい。<br>
&gt;<br>
&gt; 表の方がわかりやすいのでgistに書きました。<br>
&gt; <a href="https://gist.github.com/hiroyuki-sato/79c4ac1b80736956bbe5" rel="noreferrer" target="_blank">https://gist.github.com/hiroyuki-sato/79c4ac1b80736956bbe5</a><br>
&gt;<br>
&gt; やりたいことは下記のようにデータを並べ替える条件を<br>
&gt; 複数持つにはどうしたら良いか?ということです。<br>
<br>
Gistの方に書いている通り、種類ごとに順序を持たせることができ<br>
ます。種類をテーブル参照型にするところがポイントです。<br>
<br>
具体例はこんな感じです。<br>
<br>
----<br>
table_create Categories TABLE_HASH_KEY ShortText<br>
column_create Categories order1 COLUMN_SCALAR Int32<br>
column_create Categories order2 COLUMN_SCALAR Int32<br>
column_create Categories order3 COLUMN_SCALAR Int32<br>
<br>
load --table Categories<br>
[<br>
{&quot;_key&quot;: &quot;果物&quot;, &quot;order1&quot;: 1, &quot;order2&quot;: 2, &quot;order3&quot;: 3},<br>
{&quot;_key&quot;: &quot;野菜&quot;, &quot;order1&quot;: 2, &quot;order2&quot;: 1, &quot;order3&quot;: 2},<br>
{&quot;_key&quot;: &quot;魚&quot;,   &quot;order1&quot;: 3, &quot;order2&quot;: 3, &quot;order3&quot;: 1}<br>
]<br>
<br>
table_create Foods TABLE_HASH_KEY ShortText<br>
column_create Foods category COLUMN_SCALAR Categories<br>
<br>
load --table Foods<br>
[<br>
{&quot;_key&quot;: &quot;りんご&quot;,   &quot;category&quot;: &quot;果物&quot;},<br>
{&quot;_key&quot;: &quot;バナナ&quot;,   &quot;category&quot;: &quot;果物&quot;},<br>
{&quot;_key&quot;: &quot;もも&quot;,     &quot;category&quot;: &quot;果物&quot;},<br>
{&quot;_key&quot;: &quot;キューリ&quot;, &quot;category&quot;: &quot;野菜&quot;},<br>
{&quot;_key&quot;: &quot;キャベツ&quot;, &quot;category&quot;: &quot;野菜&quot;},<br>
{&quot;_key&quot;: &quot;サンマ&quot;,   &quot;category&quot;: &quot;魚&quot;},<br>
{&quot;_key&quot;: &quot;鯛&quot;,       &quot;category&quot;: &quot;魚&quot;},<br>
{&quot;_key&quot;: &quot;イワシ&quot;,   &quot;category&quot;: &quot;魚&quot;}<br>
]<br>
<br>
select Foods --sortby category.order1<br>
# [<br>
#   [<br>
#     0,<br>
#     1442411204.23089,<br>
#     0.000399351119995117<br>
#   ],<br>
#   [<br>
#     [<br>
#       [<br>
#         8<br>
#       ],<br>
#       [<br>
#         [<br>
#           &quot;_id&quot;,<br>
#           &quot;UInt32&quot;<br>
#         ],<br>
#         [<br>
#           &quot;_key&quot;,<br>
#           &quot;ShortText&quot;<br>
#         ],<br>
#         [<br>
#           &quot;category&quot;,<br>
#           &quot;Categories&quot;<br>
#         ]<br>
#       ],<br>
#       [<br>
#         1,<br>
#         &quot;りんご&quot;,<br>
#         &quot;果物&quot;<br>
#       ],<br>
#       [<br>
#         2,<br>
#         &quot;バナナ&quot;,<br>
#         &quot;果物&quot;<br>
#       ],<br>
#       [<br>
#         3,<br>
#         &quot;もも&quot;,<br>
#         &quot;果物&quot;<br>
#       ],<br>
#       [<br>
#         4,<br>
#         &quot;キューリ&quot;,<br>
#         &quot;野菜&quot;<br>
#       ],<br>
#       [<br>
#         5,<br>
#         &quot;キャベツ&quot;,<br>
#         &quot;野菜&quot;<br>
#       ],<br>
#       [<br>
#         7,<br>
#         &quot;鯛&quot;,<br>
#         &quot;魚&quot;<br>
#       ],<br>
#       [<br>
#         6,<br>
#         &quot;サンマ&quot;,<br>
#         &quot;魚&quot;<br>
#       ],<br>
#       [<br>
#         8,<br>
#         &quot;イワシ&quot;,<br>
#         &quot;魚&quot;<br>
#       ]<br>
#     ]<br>
#   ]<br>
# ]<br>
select Foods --sortby category.order2<br>
# [<br>
#   [<br>
#     0,<br>
#     1442411204.23131,<br>
#     0.000266313552856445<br>
#   ],<br>
#   [<br>
#     [<br>
#       [<br>
#         8<br>
#       ],<br>
#       [<br>
#         [<br>
#           &quot;_id&quot;,<br>
#           &quot;UInt32&quot;<br>
#         ],<br>
#         [<br>
#           &quot;_key&quot;,<br>
#           &quot;ShortText&quot;<br>
#         ],<br>
#         [<br>
#           &quot;category&quot;,<br>
#           &quot;Categories&quot;<br>
#         ]<br>
#       ],<br>
#       [<br>
#         4,<br>
#         &quot;キューリ&quot;,<br>
#         &quot;野菜&quot;<br>
#       ],<br>
#       [<br>
#         5,<br>
#         &quot;キャベツ&quot;,<br>
#         &quot;野菜&quot;<br>
#       ],<br>
#       [<br>
#         1,<br>
#         &quot;りんご&quot;,<br>
#         &quot;果物&quot;<br>
#       ],<br>
#       [<br>
#         2,<br>
#         &quot;バナナ&quot;,<br>
#         &quot;果物&quot;<br>
#       ],<br>
#       [<br>
#         3,<br>
#         &quot;もも&quot;,<br>
#         &quot;果物&quot;<br>
#       ],<br>
#       [<br>
#         6,<br>
#         &quot;サンマ&quot;,<br>
#         &quot;魚&quot;<br>
#       ],<br>
#       [<br>
#         7,<br>
#         &quot;鯛&quot;,<br>
#         &quot;魚&quot;<br>
#       ],<br>
#       [<br>
#         8,<br>
#         &quot;イワシ&quot;,<br>
#         &quot;魚&quot;<br>
#       ]<br>
#     ]<br>
#   ]<br>
# ]<br>
select Foods --sortby category.order3<br>
# [<br>
#  [<br>
#    0,<br>
#    1442411204.23159,<br>
#    0.000393867492675781<br>
#  ],<br>
#  [<br>
#    [<br>
#      [<br>
#        8<br>
#      ],<br>
#      [<br>
#        [<br>
#          &quot;_id&quot;,<br>
#          &quot;UInt32&quot;<br>
#        ],<br>
#        [<br>
#          &quot;_key&quot;,<br>
#          &quot;ShortText&quot;<br>
#        ],<br>
#        [<br>
#          &quot;category&quot;,<br>
#          &quot;Categories&quot;<br>
#        ]<br>
#      ],<br>
#      [<br>
#        8,<br>
#        &quot;イワシ&quot;,<br>
#        &quot;魚&quot;<br>
#      ],<br>
#      [<br>
#        7,<br>
#        &quot;鯛&quot;,<br>
#        &quot;魚&quot;<br>
#      ],<br>
#      [<br>
#        6,<br>
#        &quot;サンマ&quot;,<br>
#        &quot;魚&quot;<br>
#      ],<br>
#      [<br>
#        5,<br>
#        &quot;キャベツ&quot;,<br>
#        &quot;野菜&quot;<br>
#      ],<br>
#      [<br>
#        4,<br>
#        &quot;キューリ&quot;,<br>
#        &quot;野菜&quot;<br>
#      ],<br>
#      [<br>
#        1,<br>
#        &quot;りんご&quot;,<br>
#        &quot;果物&quot;<br>
#      ],<br>
#      [<br>
#        3,<br>
#        &quot;もも&quot;,<br>
#        &quot;果物&quot;<br>
#      ],<br>
#      [<br>
#        2,<br>
#        &quot;バナナ&quot;,<br>
#        &quot;果物&quot;<br>
#      ]<br>
#    ]<br>
#  ]<br>
# ]<br>
----<br>
<br>
<br>
--<br>
須藤 功平 &lt;<a href="mailto:kou****@clear*****" target="_blank">kou****@clear*****</a>&gt;<br>
株式会社クリアコード &lt;<a href="http://www.clear-code.com/" rel="noreferrer" target="_blank">http://www.clear-code.com/</a>&gt;<br>
<br>
Groongaベースの全文検索システムを総合サポート:<br>
  <a href="http://groonga.org/ja/support/" rel="noreferrer" target="_blank">http://groonga.org/ja/support/</a><br>
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:<br>
  <a href="http://www.clear-code.com/recruitment/" rel="noreferrer" target="_blank">http://www.clear-code.com/recruitment/</a><br>
コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:<br>
  <a href="http://www.clear-code.com/services/code-reader/" rel="noreferrer" target="_blank">http://www.clear-code.com/services/code-reader/</a><br>
<br>
_______________________________________________<br>
groonga-dev mailing list<br>
<a href="mailto:groon****@lists*****" target="_blank">groon****@lists*****</a><br>
<a href="http://lists.osdn.me/mailman/listinfo/groonga-dev" rel="noreferrer" target="_blank">http://lists.osdn.me/mailman/listinfo/groonga-dev</a><br>
</blockquote></div>