Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

COUNT

指定されたセット内の要素数を返します。

返りタイプ

この関数は、数値を返します。

構文および詳細

COUNT(set_expression)

または、以下のようにします。

COUNT(set_expression,EXCLUDEEMPTY)

既定では、COUNT によってあらゆる空の要素が考慮され、空以外の要素と共にカウントされます。EXCLUDEEMPTY キーワードを使用すると、この関数は、空以外の要素の数を返します。

例えば、以下のクエリは、Home City レベルのメンバをカウントします。

SELECT COUNT(homed.city.MEMBERS) ON 0 FROM patients
 
                                     COUNT
Results                                  9

次の例は、EXCLUDEEMPTY キーワードを使用した場合を示しています。まず、以下のクエリについて考えてみます。

SELECT aged.[age group].MEMBERS ON 0, diagd.MEMBERS ON 1 FROM patients WHERE MEASURES.[%COUNT]

                           0 to 29           30 to 59                60+
1 None                        3,839              3,615                971
2 asthma                        308                282                113
3 CHD                             1                 93                229
4 diabetes                       30                246                228
5 osteoporosis                    *                  *                200

以下のクエリは、Diagnoses レベルのメンバの数をカウントします。

WITH SET myset AS 'diagd.MEMBERS' 
SELECT COUNT(myset) ON 0 FROM patients
                                     COUNT
All Patients                              5

以下のクエリでは、Diagnoses レベルのメンバの数がカウントされ、WHERE 節を使用して 0 ~ 29 歳の年齢グループの患者のみが取得されます。

WITH SET myset AS 'diagd.MEMBERS' 
SELECT COUNT(myset) ON 0 FROM patients WHERE aged.[0 to 29]

                                     COUNT
                                          5

見てわかるように、クエリが WHERE 節を使用していても、COUNT 関数は、以前と同じ値を返します。これは、既定では COUNT が空の要素を考慮するためです。

次のクエリは、上記のバリエーションですが、EXCLUDEEMPTY を使用しています。

WITH SET myset AS 'diagd.MEMBERS' SELECT COUNT(myset,EXCLUDEEMPTY) ON 0 FROM patients WHERE aged.[0 to 29]

                                     COUNT
                                          4

また別の例では、より一般的なメンバのセットではなく、スカラ項目のセットと共に COUNT を使用できます。

WITH SET test AS '{"item 1","item 2",23}' 
SELECT COUNT(test) ON 0 FROM patients                                     COUNT
All Patients                              3
FeedbackOpens in a new tab