ODataを使用して行をカウントする
$count=true
クエリ オプションを使用して、フィルター条件と一致するエンティティ数を最大 5,000 件まで含めます。
要求:
GET [Organization URI]/api/data/v9.2/accounts?$select=accountid&$count=true
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
応答:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(accountid)",
"@odata.count": 9,
"value": [
{
"@odata.etag": "W/\"81359849\"",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd"
},
... <Truncated for brevity>
]
}
応答の @odata.count
注釈は、要求したページ サイズに関係なく、フィルター条件と一致する行数 (最大 5000 件) を含みます。
注意
5,000 件を超えるテーブルの合計行数の、過去 24 時間以内のスナップショットを取得する場合は、RetrieveTotalRecordCount 関数 を使用します。
カウント値が5,000で、カウントがちょうど5,000か5,000より大きいかを知りたい場合は、 Preferリクエスト ヘッダー を追加して、これらの注釈の odata.include-annotations設定 を送信できます。
Microsoft.Dynamics.CRM.totalrecordcount
Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded
Prefer: odata.include-annotations="Microsoft.Dynamics.CRM.totalrecordcount,Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded"
このヘッダーは結果に次の注釈を追加します。
@Microsoft.Dynamics.CRM.totalrecordcount
@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded
$count=true
クエリ オプションと一緒に使用する場合に、5,000 を超えるレコードがあると、次の値が返されます。
"@odata.count": 5000,
"@Microsoft.Dynamics.CRM.totalrecordcount": 5000,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": true,
5000 件未満のレコードがある場合は、実際のカウントが返されます。
"@odata.count": 58,
"@Microsoft.Dynamics.CRM.totalrecordcount": 58,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
$count=true
クエリ オプションを含めない場合、@Microsoft.Dynamics.CRM.totalrecordcount
の合計値は -1
になります。
次の例は、$filter
と一致するアカウントが 10 件存在することを示しますが、最初 3 件のアカウントのみが返されます。
要求:
GET [Organization URI]/api/data/v9.2/accounts?$select=name?
&$filter=contains(name,'sample')
&$count=true
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.maxpagesize=3
Prefer: odata.include-annotations="Microsoft.Dynamics.CRM.*"
応答:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.maxpagesize=3
Preference-Applied: odata.include-annotations="Microsoft.Dynamics.CRM.*"
{
"@odata.context":"[Organization URI]/api/data/v9.2/$metadata#accounts(name)",
"@odata.count":10,
"@Microsoft.Dynamics.CRM.totalrecordcount": 5000,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": true,
"value":[
{
"@odata.etag":"W/\"502482\"",
"name":"Fourth Coffee (sample)",
"accountid":"655eaf89-f083-e511-80d3-00155d2a68d3"
},
{
"@odata.etag":"W/\"502483\"",
"name":"Litware, Inc. (sample)",
"accountid":"675eaf89-f083-e511-80d3-00155d2a68d3"
},
{
"@odata.etag":"W/\"502484\"",
"name":"Adventure Works (sample)",
"accountid":"695eaf89-f083-e511-80d3-00155d2a68d3"
}
],
"@odata.nextLink":"[Organization URI]/api/data/v9.2/accounts?$select=name&$filter=contains(name,'sample')&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b695EAF89-F083-E511-80D3-00155D2A68D3%257d%2522%2520first%253d%2522%257b655EAF89-F083-E511-80D3-00155D2A68D3%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
コレクションの数を表す数値だけを取得するには、次の例のように /$count
を追加します。
要求:
GET [Organization URI]/api/data/v9.2/accounts/$count
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
応答:
HTTP/1.1 200 OK
Content-Type: text/plain
OData-Version: 4.0
10
次の手順
フォームのパフォーマンスを最適化する方法について解説します。
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。