1

私は SQL で記述されたコードを再設計しており、order by句でカーディナリティを使用できるようになりました。では、どの基準でレコードを並べ替えるのでしょうか?

例えば

ORDER BY
      cardinality(emp_ids),
      earliest_due_date

emp_idsこのように準備されている場所

 CAST(
       collect(employee.emp_id)
       AS
       NumberList
     ) AS emp_ids
4

1 に答える 1

3

戻り値が数値であることが文書化されています。

CARDINALITY は、ネストしたテーブルの要素数を返します。戻り型は NUMBER です。ネストした表が空であるかNULLコレクションである場合、CARDINALITYはNULLを返します。

そのため、 order by はemp_ids、行数が最も少ないテーブルを最初に返します (null を返すため、空のテーブルが最後になります)。

于 2013-01-29T08:07:42.207 に答える