4D v14.3DISTINCT VALUES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
DISTINCT VALUES
DISTINCT VALUES
DISTINCT VALUESコマンドは、aFieldが属するテーブルのカレントセレクションのaFieldフィールドからの重複しない(ユニークな)値で構成されるarray配列を作成します。 DISTINCT VALUESコマンドには、インデックスが可能な (インデックスをサポートするタイプの) フィールドを渡すことができます。実際にインデックスされている必要はありません。 DISTINCT VALUESはカレントセレクションのレコードをブラウズし、重複しない値を保持します。 注: トランザクション中にDISTINCT VALUESコマンドが呼び出された場合、トランザクション中に作成されたレコードも処理の対象となります。 DISTINCT VALUESを呼び出す前に配列を作成した場合、このコマンドは、その配列タイプがフィールドタイプと互換であることを期待します。そうでない場合、インタプリタモードでは、DISTINCT VALUESは適切なタイプの配列を作成します。フィールドが時間型ならば、このコマンドは倍長整数の配列を期待または作成します。 DISTINCT VALUES で使用される配列は、第一引数渡すフィールドと型が一致している必要があります。一致していない場合、配列の型は修正されます。このルールには一つの例外があります: フィールドがピクチャ型である(かつキーワードインデックスと関連付けられている)場合、対応する配列はテキスト型でなければなりません。 コマンドの呼び出し後、配列のサイズはセレクション中の重複しない値の数と同じです。コマンドはカレントセレクションまたはカレントレコードを変更することはありません。 DISTINCT VALUES コマンドはフィールドのインデックスを使用するので、array中の要素は昇順でソートされて返されます。これが目的の並べ替え順であれば、DISTINCT VALUESを使用した後にSORT ARRAYコマンドを呼び出す必要はありません。 注: DISTINCT VALUESを キーワードインデックスが適用されたテキストフィールドに対して実行すると、コマンドはインデックスのキーワードで構成される配列を作成します。他のタイ プのデータと異なり、返される値はインデックスの存在により異なります。テキストフィールドの場合、フィールドに標準のインデックスが定義されていても、 常にキーワードインデックスが採用されます。テキストやピクチャーフィールドにキーワードインデックスが割り当てられていない場合、空の配列が返されま す。警告: DISTINCT VALUESコマンドは、セレクション及びそこ に含まれる重複しない値の数によって非常に大きな配列を作成する場合があります。配列はメモリ上に存在します。そのためコマンドの実行後、結果をテストす るのは良いことです。これを行うには、作成された配列のサイズをテストするか、ON ERR CALLプロジェクトメソッドを使用してコマンドの呼び出しをカバーします。 4D Server: このコマンドは4D Server用に最適化されています。サーバ側で配列の作成と値の計算が行われ、その後全体がクライアントに送られます。 以下の例は、カレントセレクションから都市のリストを作成します。そして、会社の店舗がある都市の数を求めます: ALL RECORDS([Retail Outlets]) ` レコードのセレクションを作成 "Pictures"フィールドに割り当てられたキーワードインデックスの完全なリストを取得します: ALL RECORDS([PICTURES]) |
プロパティ
プロダクト: 4D
履歴
変更: 4D v11 SQL 参照
ON ERR CALL タグ index mots-clés, mots-clés ARTICLE USAGE
ランゲージリファレンス ( 4D v14.3) Inherited from : DISTINCT VALUES ( 4D v14 R2) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||