mysql:4688
From: "f.t" <"f.t" <fujiyama@xxxxxxxxxx>>
Date: Thu, 22 Nov 2001 19:12:06 +0900
Subject: [mysql 04688] Re: 指定した順番でのソート
fujiyamaです。 レスありがとうございます。 豊島@クロスネット <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 ですかねぇ? 移行の間はちゃんとしたソート順にならない(昔の「指定なし」は先頭に、新し い「指定なし」は後方に)けどやむをえないところでしょうか。。 -- よろしくお願いします f.t <fujiyama@xxxxxxxxxx>
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]