4D v14.3ORDER BY FORMULA |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
ORDER BY FORMULA
|
ORDER BY FORMULA ( aTable ; expression {; > or <}{; expression2 ; > or <2 ; ... ; expressionN ; > or <N} ) | ||||||||
引数 | 型 | 説明 | ||||||
aTable | テーブル |
![]() |
セレクションをソートするテーブル | |||||
expression | 式 |
![]() |
各レベルのソートに設定する式 (文字, 実数, 整数, 倍長整数, 日付, 時間または ブール) | |||||
> or < | 演算子 |
![]() |
各レベルのソート方向: >: 昇順, または <: 降順 | |||||
ORDER BY FORMULAは、カレントプロセスのaTableのカレントレコードセレクションをソートします。ソートが終了すると、セレクションの先頭レコードがカレントレコードとなります。
引数aTableを必ず指定しなければならない点に注意してください。デフォルトテーブルを使用することはできません。
1つのレベルまたは複数のレベルを用いてセレクションのソートを実行できます。ソートレベルごとに、expressionと> または <を指定します。> は昇順を、< は降順を意味します。ソート方向を省略した場合、デフォルトとしてソートを昇順に行います。
引数expressionに指定できるタイプは、文字、実数、整数、倍長整数、日付、時間、ブールです。
ソートの定義方法に関係なく、実際のソート処理に時間がかかる場合は、4Dは自動的にサーモメータで進捗状況のメッセージを表示します。MESSAGES ONコマンドとMESSAGES OFFコマンドを使用して、メッセージを表示または非表示にすることができます。進捗サーモメータが表示された場合、ユーザは中止ボタンをクリックしてソートを中止することができます。ソートが正常に終了すると、システム変数OKには1がセットされ、それ以外の場合には0がセットされます。
4D Server: 4D Serverのバージョン11より、このコマンドはサーバ上で実行され、実行が最適化されるようになりました。expression内で直接変数が呼ばれているとき、クライアントマシンの変数値を使用してソートを計算します。
他方、フォーミュラにメソッドを使用し、メソッドから変数を参照する場合にはこの原則は適用されません (サーバ上の変数値を使用して評価が行われます)。このコンテキストでは、変数を引数として渡つつサーバ上でメソッドの時移行を可能にする、"サーバ上で実行"メソッド属性を使用することをお勧めします (Design Referenceマニュアルを参照)。
以前のバージョンの4D Serverでは、このコマンドはクライアントマシンで実行されていました。互換性のため、バージョン11に変換されたデータベースでは古い動作が保持されています。互換性の環境設定やSET DATABASE PARAMETER コマンドのセレクタを使用して、サーバ上で実行させるバージョン11の動作を適用できます。
以下の例は、[People]テーブルをLastNameフィールドの文字長をキーにして降順に並び替えます。最も長い名字を持った人がカレントセレクションの先頭になります:
ORDER BY FORMULA([People];Length([People]LastName);<)
プロダクト: 4D
テーマ: クエリ
番号:
300
変更: 4D v11 SQL Release 2
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)