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

mysql:5883

From: KAWAJI Shinya <KAWAJI Shinya <kawaji@xxxxxxxxxx>>
Date: Wed, 31 Jul 2002 15:38:55 +0900
Subject: [mysql 05883] Re: 並びかえの設定について

かわじ、です。


> そこで商品のカテゴリを登録でき、並べ替えができるという
> 仕様で、特に指定しない限り新しく追加したものが
> 上に表示されるというものです。


・普段は最新登録順で表示する
・しかし、一部商品は表示順を並び替えたい

ということかと思います。

いろんな方法があると思いますが、私なりに考えると、
この場合は DATE型ではなく、数値型の方が取り扱いしやすいかもしれません。


例えば item テーブルに

	id int auto_increment
	print_priority int default null

の二つのフィールドがあるとして、

表示は

	select * from item order by ifnull(print_priority,id) desc;

順序の入れ替えは、print_priority が 10 のものを一つ上げるとしたら

	update item set print_priority=(case ifnull(print_priority,id)
		when 10   then 10+1
		when 10+1 then 10
	end) where ifnull(print_priority,id) in (10,10+1);

という感じでしょうか?
 


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

      5877 2002-07-31 09:27 [<cplusplus@xxxxxxxxx] サーバパソコンの MySQLDB を編集するには 
      5878 2002-07-31 10:24 ┣[上野 和風 <nati24@x] 並びかえの設定について                
->    5883 2002-07-31 15:38 ┃┗[KAWAJI Shinya <kawaj]                                     
      5890 2002-07-31 18:09 ┃ ┗[上野 和風 <nati24@x]                                   
      5879 2002-07-31 13:31 ┣[fukuixyz <fukuixyz@x]                                       
      5881 2002-07-31 14:41 ┃┣[平松 幸治 <kouji@xx] 新規登録だけできない・・・のですが  
      5882 2002-07-31 15:28 ┃┃┗["KAWAI,Takanori" <GC]                                   
      5884 2002-07-31 15:38 ┃┃ ┗[平松 幸治 <kouji@xx]                                 
      5894 2002-07-31 22:28 ┃┗["TAKAHASHI, Tomohiro]                                     
      5880 2002-07-31 14:45 ┗["KAWAI,Takanori" <GC]