[前][次][番号順一覧][スレッド一覧]

mysql:4692

From: 豊島@クロスネット <豊島@クロスネット <toyoshima@xxxxxxxxxx>>
Date: Thu, 22 Nov 2001 19:44:03 +0900
Subject: [mysql 04692] Re: 指定した順番でのソート

 豊島です。

From: "f.t" <fujiyama@xxxxxxxxxx>
Subject: [mysql 04688] Re: 指定した順番でのソート
Message-ID: <20011122184914.3C5D.FUJIYAMA@xxxxxxxxxx>
> 豊島@クロスネット <toyoshima@xxxxxxxxxx> wrote(Thu, 22 Nov 2001 18:35:
> 32 +0900):
> 
> > > データが
> > > 1->指定なし
> > > 2->\100
> > > 3->\200
> > > 4->\300
> > > ...
> > > となっている時に、結果を値段の安い順に並べたいのだが「指定なし」は一番最
> > > 後に表示したいというようなことです。(この場合2→3→4→1にソートする)
> 
> >  「値段の安い順に並べたいのだが」とおっしゃっているのですから、
> > 
> > select id,名前,値段 from テーブル
> > where id in (1,2,3,4)
> > order by 値段
> > 
> >  「指定なし」については、値を"-1"として予約しておくとか。
> >   (0は違う意味を持っている場合は、 where に 値段 != 0 を付加する。)
> 
> id=1,2,3,4…
> 値段=指定なし,\100,\200,\300…
> ですよね?
> 実は、書き方が不十分だったのですが、
> カラム「値段」には\100,\200といったきれいな値だけでなく全角の「¥200」
> や複数の値段「\200(休日は\150)」も入るvarcharデータなのです。なので値段
> カラムをソートに使うのは(ソート順の見当がつかないし)あきらめています。
> 
> また、SQL部分で負荷を加えたくないので、SQLを2回発行して、1回目はid
> in(2,3,4)、2回目はid=1みたいなのも苦しいところです(実際はかなり長い&そ
> の他の条件の多いSQLを使用しているので)
> 
> #
> 今回はシステムが毎秒動いているようなものでもないので、やっぱり、
> コード入力部分を修正(「指定なし」のidを99などの大きな数にする)
> ↓
> 既に入っているコードid=1をid=99にupdate
> ですかねぇ?
> 移行の間はちゃんとしたソート順にならない(昔の「指定なし」は先頭に、新し
> い「指定なし」は後方に)けどやむをえないところでしょうか。。

 ん? それでは一つ疑問が残ります。

 「値段」順にするということですが、実際の「値段」順にするロジックはどのように
行うのでしょうか?

 どこかで、結局「¥200」 や 「\300」 からかならず数値を 抽出しなければなり
ません。
 どうせ抽出しているのであれば、insert もしくは、update する直前に 値段文字列 
から 値段数値 を抽出しておいて、その値段数値をorder by でソートして出力する方法
が考えられます。

・・・‥‥‥……………………‥‥‥・・・
 株式会社 クロスネット IT事業部 豊島 博
  E-Mail  : toyoshima@xxxxxxxxxx
  WebSite : http://www.crossnet.co.jp
・・・‥‥‥……………………‥‥‥・・・


[前][次][番号順一覧][スレッド一覧]

      4683 2001-11-22 18:18 ["f.t" <fujiyama@xxxx] 指定した順番でのソート                  
      4684 2001-11-22 18:35 ┣[豊島@クロスネット <]                                       
      4688 2001-11-22 19:12 ┃┗["f.t" <fujiyama@xxxx]                                     
      4690 2001-11-22 19:21 ┃ ┣[遠藤 俊裕 <endo_t@xx]                                   
      4693 2001-11-22 19:45 ┃ ┃┗["f.t" <fujiyama@xxxx]                                 
      4695 2001-11-22 21:45 ┃ ┃ ┗[遠藤 俊裕 <endo_t@xx]                               
      4697 2001-11-22 22:56 ┃ ┃  ┗[Tomohiro 'Tomo-p' KA]                             
      4698 2001-11-22 23:06 ┃ ┃   ┗[遠藤 俊裕 <endo_t@xx]                           
->    4692 2001-11-22 19:44 ┃ ┗[豊島@クロスネット <]                                   
      4694 2001-11-22 20:23 ┃  ┗["f.t" <fujiyama@xxxx]                                 
      4685 2001-11-22 18:56 ┣[Noriyuki Sakimura <s]                                       
      4686 2001-11-22 18:59 ┃┣[Noriyuki Sakimura <s]                                     
      4691 2001-11-22 19:39 ┃┗["f.t" <fujiyama@xxxx]                                     
      4689 2001-11-22 19:20 ┣["古河 謙悟" <furuka]                                       
      4696 2001-11-22 22:35 ┗[Hiroshi Takiguchi <t]                                       
      4709 2001-11-26 11:16  ┗["Takafumi oumine" <o] Bakup について                      
      4712 2001-11-26 12:21   ┗["f.t" <fujiyama@xxxx]                                   
      4713 2001-11-26 13:28    ┗["Takafumi oumine" <o]                                 
      4715 2001-11-26 13:45     ┗[Hiroyuki Sato <hiro@]                               
      4717 2001-11-26 16:09      ┗["Takafumi oumine" <o]