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

mysql:8416

From: Satoshi Iwanaga <Satoshi Iwanaga <iwanaga@xxxxxxxxxx>>
Date: Sat, 22 Nov 2003 15:06:31 +0900
Subject: [mysql 08416] 並び替えについての SQL 文

こんにちは、岩永と申します。
今日は、みなさまの知恵をお借りしたくて
投稿いたしました。

並び替えのSQL文についてです。
例えば下記のようなデータがあります
 ※メールアドレスはユニークです。

班 身長   名前    メールアドレス
----------------------------------
1  162   Aさん   a@xxxxxxxxxx
1  163  Bさん   b@xxxxxxxxxx
1  164  Cさん   c@xxxxxxxxxx
2  164  Dさん   d@xxxxxxxxxx
1  164  Eさん   e@xxxxxxxxxx
1  151  Fさん   f@xxxxxxxxxx
2  175  Gさん   g@xxxxxxxxxx
1  172   Hさん   h@xxxxxxxxxx
1  180   Iさん   i@xxxxxxxxxx

このデータについて、下記の条件でデータを抽出したいと
考えています。

 1.1班の人のみ
 2.身長が164cm以上
 3.名前で昇順
 4.入力したメールアドレスの人を先頭に表示する

身長が重複した場合、名前順で表示するのですが
入力したメールアドレスを先頭に表示したいと考えています。
具体的な例としては下記の通りです。

Cさんで抽出
--------------------------
1  164   Cさん   c@xxxxxxxxxx
1  164   Eさん   e@xxxxxxxxxx
1  172   Hさん   h@xxxxxxxxxx
1  180   Iさん   i@xxxxxxxxxx

Eさんで抽出
--------------------------
1  164   Eさん   e@xxxxxxxxxx
1  164   Cさん   c@xxxxxxxxxx
1  172   Hさん   h@xxxxxxxxxx
1  180   Iさん   i@xxxxxxxxxx

 select * from テーブル名 where 班='1' and (身長 >= 164 or メールアドレス='XXXXXX');
  ※XXXXXXは、先頭にしたいメールアドレス

上のようにSQL文を実行してみたのですが、期待した結果は得られませんでした。
また、

 select * from テーブル名 where 班='1' and 身長 >= 164 order by 名前, case when メールアドレス=='XXXXXX' then '0' else '1' end;
  ※XXXXXXは、先頭にしたいメールアドレス

と、やってみたのですが、やはり期待した結果は得られませんでした。
どなたかわかりましたらお教えいただけないでしょうか。
それとも、このような抽出は無理なんでしょうか..



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

->    8416 2003-11-22 15:06 [Satoshi Iwanaga <iwa] 並び替えについての SQL 文               
      8417 2003-11-22 17:31 ┣[ML account <ml@xxxxx]                                       
      8418 2003-11-22 17:45 ┃┗[Satoshi Iwanaga <iwa]                                     
      8425 2003-11-25 19:51 ┗[Satoshi Iwanaga <iwa] Re: 並び替え・表示についての SQL 文   
      8426 2003-11-25 21:30  ┗["Kawaji, Shinya" <ka]