Freigeben über


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).