
MySQL4.0で、2つのカラムを比較してソートをしたいと考えています。
cat dog
==================
3 12 ------------> 3
5 2 ------------> 2
7 15 ------------> 7
16 9 ------------> 9
というテーブルがあり、cat列もしくはdog列を比較してどちらか小さい値をキーにしてソートさせたいのです。
上の例だとこんな感じに結果を得たいのですが。。。。
cat dog
==================
5 2 ------------> 2
3 12 ------------> 3
7 15 ------------> 7
16 9 ------------> 9
一度結果セットを配列にいれて、プログラム側で再度ソートをかけようかなと思っていたのですが、できればSQLの側でできないものかと考えています。4.1以降であれば、サブクエリを使ってなんとかできそうなのですが、4.0なので方法がぜんぜん思い浮かびません。どのようにSQLを書けばいいのでしょうか??
No.4
- 回答日時:
「動けばいい」なら、#2さんや#3さんの回答でいいと思います。
しかし、「order by」で列名でなく、式を書いた場合、仮にインデクスが定義されていても、MySQLは「ソート抑止」してくれません。
データ件数がどのくらいあるのか不明ですが、こういった操作をSQLでやろうとするなら、RDBMS側での性能向上は図れないことを承知しておいてください。
この回答への補足
回答ありがとうございます。データ件数は最大でも100件程度の小さなデータです。where句でさらに絞り込んでいるので、実際に取り出されるのは30件あるかないか、くらいです。
社内にあるサーバーであればRDBMS側の性能向上も視野にいれたいところなのですが、専用サーバーをレンタルしている状況で、しかもそれほどスキルがないので、SQL側でぜんぶまかないたい、というのがホンネです。また、データもそれほど厳密さを要求されるものではないので、なので「とりあえずそれに近いデータがでてくればまぁいいや」といったところでしょうか。RDBMS側にも詳しくなりたいと思ってます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1の行を固定した上でVBAを用い...
-
レコードの登録順がおかしい
-
ファイルの漢数字の順番につい...
-
コンボボックスのソートについて
-
ソート(PL/SQL)
-
並べ替えについて
-
SQLデータベースの処理
-
ORDER BY RAND() 後のソートの方法
-
検索結果を指定件数ずつ抽出表...
-
ソート。内容の一部を置換して...
-
テーブルレーコードをソートし...
-
Accessでのクエリ・レポートの...
-
アクセスに関して。クエリの並...
-
エクセルVBAでデータ並べ替え
-
文字型の順番がうまく並ばない。
-
Selectした時のレコードの取得順
-
リストボックス内を昇順並べる方法
-
月末日のみソートしたい
-
MYSQL について
-
MySQLで都道府県順にソート
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードの登録順がおかしい
-
1の行を固定した上でVBAを用い...
-
並べ替えについて
-
ファイルの漢数字の順番につい...
-
エクセル、並び替え正しくソー...
-
テーブルレーコードをソートし...
-
ソート(PL/SQL)
-
ハイフンの入ったデータの並べ替え
-
SQLで曜日のソートを月火水木金...
-
Selectした時のレコードの取得順
-
SQLデータベースの処理
-
リストボックス内を昇順並べる方法
-
月末日のみソートしたい
-
ファイルメーカーでソート後の...
-
accessでDISTINCT 句と矛盾
-
アクセスに関して。クエリの並...
-
Excel VBA での大文字優先ソート
-
Excel VBAのわかりやすい教科...
-
オープンオフィス
-
Oracleのソート
おすすめ情報