mysql:4684
From: 豊島@クロスネット <豊島@クロスネット <toyoshima@xxxxxxxxxx>>
Date: Thu, 22 Nov 2001 18:35:32 +0900
Subject: [mysql 04684] Re: 指定した順番でのソート
豊島です。 From: "f.t" <fujiyama@xxxxxxxxxx> Subject: [mysql 04683] 指定した順番でのソート Message-ID: <20011122180317.3C5A.FUJIYAMA@xxxxxxxxxx> > fujiyamaです。 > > FAQだと申し訳ないんですが、ログ見ても発見できなかったので、、 > > 降順や昇順ではなく、指定した順番で結果をソートする手っ取り早い構文や関数 > みたいなものはあるでしょうか? > > 例えば > ORDER_USER xxx (9, 1, 2, 3, 10, 4) > などといううように書いて、xxxというカラムを()のリストの順にソートしたも > のを返すというようなイメージです。 > > やりたいこととしては、 > データが > 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 を付加する。) ・・・‥‥‥……………………‥‥‥・・・ 株式会社 クロスネット 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]