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]