質問:
データの並び替えについての質問です。

題名,内容,番号
ああ,いい,1
かか,きき,2
ささ,しし,11
たた,ちち,99

このようなデータベースで、"99,1,2,11"と並び替えを行いたいのですが、
このようなことはどのようにすれば出来るのでしょうか。
"99,11,2,1"と並び替えをして、PHPなどの配列に投入して"99,1,2,11"と並び替えることは出来ますが、limitで100と指定している為、99と11で100件近くあった場合重要な1と2が抽出されなくなってしまいます。
何か言い方法があればご教授いただければと思いますので、よろしくお願い致します。
答え:
ソートするためのカラムを別に持つ・・とか、ソート用の別テーブルを持つ・・というのは駄目なんでしょうか。

単に99だけを先に取得し、残りはソートして出すというのであれば、SQLを2回発行してプログラム内で組み合わせるのが、一番早いかと思われます。(2回目に呼び出す行数は、100 − 1回目の取得行数 で設定できます)
補足の質問:
ご教授ありがとうございます。やはりSQL一文指定ではできないという事ですね。
構造自体を変えてしまうか、二重に処理を行うかと言う結論を受け止めます。
また何かあればよろしくお願いします。この質問・回答は役に立ちましたか?
答え:
下記の回答は、第三フィールドでは負の数値は存在しないということが条件ですが、、、

1.数値99をすべて負の定数に置換する。
2.第三フィールドをキーに昇順ソートをかける。
3.負の定数をすべて99に置換する。
他は答える:
単純に、昇順ソートして、最後のデータを、最初に移動するだけ・・・・・と、違う?

ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.

  • 初心者です。ファイルを開くマクロで、ファイル名(...
  • ユーチューブって著作権違反のもたくさん掲載されてま...
  • PCのデスプレーが壊れたので買い換えようと思います、...
  • シマンテック社のセキュリティー ソフト ノートン2...
  • 一太郎というソフトは、何ができるのですか?PC初心者...
  • エクセルの多くある関数のなかで、データベース関数を...