size()関数の使用方法

size関数を使用すると、複合項目(レコード、配列またはマップ)のサイズ(フィールドまたはエントリの数)を戻すことができます。次に例を示します。

各個人のIDと、持っている電話の数を戻すには、次のようにします。

sql-> SELECT id, size(p.address.phones)
AS registeredphones FROM Persons p;
 +----+------------------+
 | id | registeredphones |
 +----+------------------+
 |  5 |                3 |
 |  3 |                2 |
 |  4 |                4 |
 |  2 |                1 |
 |  1 |                1 |
 +----+------------------+

5 rows returned 

各個人のIDと、持っているexpensesカテゴリの数を戻すには、次のようにします。

sql-> SELECT id, size(p.expenses) AS
categories FROM Persons p;
 +----+------------+
 | id | categories |
 +----+------------+
 |  4 |          4 |
 |  3 |          3 |
 |  2 |          3 |
 |  1 |          2 |
 |  5 |          3 |
 +----+------------+

5 rows returned 

各個人のIDと、支出が2000を超えているexpensesカテゴリの数を戻すには、次のようにします。

sql-> SELECT id, size([p.expenses.values($value > 2000)]) AS 
expensiveCategories FROM Persons p;
 +----+---------------------+
 | id | expensiveCategories |
 +----+---------------------+
 |  3 |                   0 |
 |  2 |                   1 |
 |  5 |                   0 |
 |  1 |                   0 |
 |  4 |                   1 |
 +----+---------------------+

5 rows returned