5

任意の属性を使用してソートして進捗記録を表示します。私は進歩するのが初めてなので、1 つの属性での並べ替えに従って、テーブル内のレコードをどのように表示できるかを知りたいです。

4

1 に答える 1

9

BY 句は次のように使用します。

for each customer no-lock where customer.custNum > 100 BY customer.name:
  display customer.custNum customer.name.
end.

選択と並べ替えは 2 つの異なるものであることに注意してください。WHERE 句は選択を指定し (BY がない場合は並べ替え順序を指定します)、BY は並べ替えを指定します。

BY は、WHERE 句の 2 つ以上の可能性が一致する場合にのみ、インデックスの選択に影響を与えます。

BY オーダーが WHERE オーダーと一致しない場合、クライアント側の並べ替えによってパフォーマンスが大幅に低下する可能性があります。(XREF を使用してコンパイルすると、どのインデックスが使用されているか、およびそれらがどれだけ希望に合っているかを確認できます。)

于 2011-09-08T13:12:22.087 に答える