Freigeben über


COUNT-Befehl

Zählt die Datensätze einer Tabelle.

COUNT   [Scope] [FOR lExpression1] [WHILE lExpression2]   [TO VarName]
   [NOOPTIMIZE]

Parameter

  • Scope
    Gibt einen Bereich von Datensätzen an, die gezählt werden sollen. Die Bereichsklauseln sind: ALL, NEXT nRecords, RECORD nRecordNumber und REST. Weitere Informationen zu Bereichsklauseln finden Sie unter Bereichsklauseln. Befehle, bei denen ein Geltungsbereich (Scope) angegeben ist, funktionieren nur für die Tabelle des aktiven Arbeitsbereichs.

    Der Standardbereich für COUNT ist ALL, also alle Datensätze.

  • FOR lExpression1
    Gibt an, dass nur die Datensätze gezählt werden, die die logische Bedingung lExpression1 erfüllen. Mit Hilfe einer FOR-Klausel können Sie Datensätze bedingt zählen und so die nicht gewünschten Datensätze herausfiltern.

    Eine COUNT FOR-Abfrage wird mit der Rushmore-Technologie optimiert, wenn lExpression1 ein optimierbarer Ausdruck ist. Die beste Leistung erreichen Sie, indem Sie in der FOR-Klausel einen optimierbaren Ausdruck verwenden.

    Weitere Informationen zu optimierbaren Ausdrücken finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.

  • WHILE lExpression2
    Datensätze werden gezählt, solange die Auswertung des logischen Ausdrucks lExpression2 Wahr (.T.) ergibt.

  • TO VarName
    Gibt die Speichervariable oder das Array an, in der bzw. dem das Ergebnis des Zählvorgangs gespeichert wird. Wenn Sie eine noch nicht vorhandene Variable angeben, erstellt Visual FoxPro automatisch eine Variable mit dem angegebenen Namen.

  • NOOPTIMIZE
    Deaktiviert die Rushmore-Optimierung von COUNT. Weitere Informationen finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.

Hinweise

COUNT zählt die Datensätze innerhalb eines Bereichs von Datensätzen, für die die FOR- oder WHILE-Bedingungen erfüllt sind. Ist SET TALK auf ON gesetzt, wird die Anzahl der Datensätze angezeigt.

Zum Löschen markierte Datensätze werden nur gezählt, wenn SET DELETE auf OFF gesetzt ist.

Erläuterungen dazu, welchen Einfluss NULL-Werte auf COUNT haben, finden Sie unter Überblick über die Sprache.

Beispiel

Im folgenden Beispiel werden die Kunden in Paris gezählt, und das Ergebnis wird angezeigt.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

CLEAR
COUNT FOR UPPER(city) = 'PARIS'
DISPLAY FIELDS company, contact FOR UPPER(city) = 'PARIS'

Siehe auch

CALCULATE | SET DELETED | SET TALK