dポイントプレゼントキャンペーン実施中!

お願いします
MySQLを使ってクエリーを書いているのですが
例えば[test]というフィールドがあったとして
そのフィールドにa,b,cというデータが入っているとし
データを取り出す場合
ORDER BY句を使ってaから取り出す方法とcから取り出す方法はわかるのですが
bから取り出すことというのはできるのでしょうか?

よろしくお願いします

A 回答 (3件)

これっていうのはいわゆる釣りの書き込みなんでしょうか。


真面目に回答を期待されているのか疑問ですが
一応まともに考えるなら、真中順とは3つしかデータがなければ
「2番目を最初して後は好きにしていい順」ですね?
MySQLのバージョンにもよりますが例えばテンポラリを使って
2番目をとりだし、1番目を取り出し、3番目をとりだす
という手順なのでしょうか・・・


create temporary table `y` select * from `x` limit 1,1;
insert into `y` select * from `x` limit 0,1;
insert into `y` select * from `x` limit 2,1;
select * from `y`;

真中順てデータが4つ以上あるときどうするつもりでしょう・・・
b-c-a-d,c-a-d-b・・・なんでもあり?
おそらく思いつきで命題をだしてらっしゃるのでしょうけど
まずは真中順というアルゴリズムを確立してから
ご質問になると、適正な回答が得られると思います。
子供が3人いて、背の真中順にならんでねぇ・・・
といって並べると思います?

もしどうしてもというのであれば、とりだしたあとに
PHPなどで情報を整理してみせることも検討なさって
ください
    • good
    • 0
この回答へのお礼

>これっていうのはいわゆる釣りの書き込みなんでしょうか。
>真面目に回答を期待されているのか疑問ですが
いたって真面目だったのですが^^;
どうも質問がおかしかったようですね・・・

SELECT test FROM table WHERE test = 'b'

SELECT test FROM table WHERE test <> 'b'
を一まとめする感じで
bから取り出して残りを取り出すという方法が
ないものかと思ったのですが諦めます

こんな質問に真面目に答えてくださってありがとうございます。
PHPで制御することにしました。

あと、決して釣りでもなければ思いつきでもありません^^;

お礼日時:2006/01/21 00:59

 この質問では、どういった順番でソートしたいのかがちんぷんかんぷんなんですが・・・


 ソートする限りは、ソートする基準を「数式」でちゃんと説明できる必要があります。
 数式で説明できるなら、手はあります。
 あなたが望む順番を返すユーザー関数を作成して、そのユーザー関数でソートすればよいでしょう。
 ORDER BY func(test)
といった形で。
 ユーザー関数に関しては、まず自分で調べてください。これ基礎から書いたら、一冊の本になります=^・・;=
    • good
    • 0
この回答へのお礼

>この質問では、どういった順番でソートしたいのかがちんぷんかんぷんなんですが・・・
すいません。質問が悪かったようです
ユーザー関数については調べてみることにします

ありがとうございました。

お礼日時:2006/01/21 01:02

おっしゃる意味がよくわからないのですが


それは何順でとりだすというのでしょうか?
正直いってbからとりだす必要性を感じません。

この回答への補足

説明がわかりにくくてすいません
>それは何順でとりだすというのでしょうか?
何順かといわれると・・・真中順?^^;
データを取得するときに
b,a,cかb,c,aどちらでもいいのですが
bから取り出したいのです

>正直いってbからとりだす必要性を感じません。
aから先に表示
bから先に表示
cから先に表示という機能を考えています
そこでbから先に表示というのがわからなくて
質問させていただきました

補足日時:2006/01/20 21:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す