Zeilen mit OData zählen
Verwenden Sie die Abfrageoption $count=true
, um eine Zählung der Entitäten, die den Filterkriterien entsprechen, bis zu 5.000, zu erhalten.
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=accountid&$count=true
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Antwort:
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>
]
}
Die -Antwortanmerkung @odata.count
enthält die Anzahl der Zeilen bis zu 5.000, die den Filterkriterien entsprechen, ungeachtet einer -Einstellungsbeschränkung.
Hinweis
Wenn Sie innerhalb der letzten 24 Stunden eine Momentaufnahme der Gesamtzahl der Zeilen für eine Tabelle über 5.000 abrufen möchten, verwenden Sie die Funktion RetrieveTotalRecordCount.
Wenn der Zählwert 5.000 beträgt und Sie wissen möchten, ob der Zählwert genau 5.000 beträgt oder größer als 5.000 ist, können Sie den Anforderungsheader „Prefer“ hinzufügen, um die odata.include-annotations-Präferenz für diese Anmerkungen zu senden:
Microsoft.Dynamics.CRM.totalrecordcount
Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded
Prefer: odata.include-annotations="Microsoft.Dynamics.CRM.totalrecordcount,Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded"
Diser Header fügt die folgenden Anmerkungen dem Ergebnis hinzu:
@Microsoft.Dynamics.CRM.totalrecordcount
@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded
Wenn die Abfrageoption $count=true
verwendet wird und mehr als 5.000 Datensätze vorhanden sind, werden die folgenden Werte zurückgegeben:
"@odata.count": 5000,
"@Microsoft.Dynamics.CRM.totalrecordcount": 5000,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": true,
Wenn weniger als 5.000 Datensätze vorhanden sind, wird die tatsächliche Anzahl zurückgegeben.
"@odata.count": 58,
"@Microsoft.Dynamics.CRM.totalrecordcount": 58,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,
Wenn Sie die $count=true
-Abfrageoption nicht mit aufnehmen, ist der Gesamtwert von @Microsoft.Dynamics.CRM.totalrecordcount
-1
.
Das folgende Beispiel zeigt, dass es 10 Konten gibt, die auf die $filter
passen, aber nur die ersten drei Konten werden zurückgegeben:
Anforderung:
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.*"
Antwort:
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"
}
Um nur eine Zahl zu erhalten, die die Anzahl einer Sammlung darstellt, hängen Sie /$count
an, wie im folgenden Beispiel:
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts/$count
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Antwort:
HTTP/1.1 200 OK
Content-Type: text/plain
OData-Version: 4.0
10
Nächste Schritte,
Erfahren Sie, wie Sie die Leistung optimieren.
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).