Heim > Datenbank > MySQL-Tutorial > Wie zähle ich Datensätze, die eine bestimmte Bedingung erfüllen, und berechne den Prozentsatz in SQL Server?

Wie zähle ich Datensätze, die eine bestimmte Bedingung erfüllen, und berechne den Prozentsatz in SQL Server?

Patricia Arquette
Freigeben: 2025-01-11 13:06:46
Original
974 Leute haben es durchsucht

How to Count Records Meeting a Specific Condition and Calculate Percentage in SQL Server?

Bedingte Zählung und WHERE-Klausel in SQL Server

In SQL Server können Sie die Aggregatfunktion COUNT() in Kombination mit der Klausel WHERE verwenden, um die Anzahl der Datensätze zu zählen, die bestimmte Bedingungen erfüllen.

Das Ziel des folgenden Beispiels besteht darin, die Anzahl der Datensätze zu zählen, bei denen der MyColumn-Wert gleich 1 ist. Hier ist die geänderte Abfrage:

<code class="language-sql">SELECT  UID, 
        COUNT(UID) AS TotalRecords, 
        SUM(ContractDollars) AS ContractDollars,
        (SELECT COUNT(*) 
         FROM dbo.AD_CurrentView AS Sub
         WHERE Sub.UID = Outer.UID AND Sub.MyColumn = 1) * 100.0 / COUNT(UID) AS PercentageOfOne
FROM    dbo.AD_CurrentView AS Outer
GROUP BY UID
HAVING  SUM(ContractDollars) >= 500000</code>
Nach dem Login kopieren

Im Folgenden finden Sie eine Aufschlüsselung der Abfrageschritte:

  1. Erstellen Sie eine Unterabfrage, um die Anzahl der Datensätze in jeder UID-Gruppe zu zählen, die die Bedingung erfüllen (MyColumn = 1).
  2. Verwenden Sie UID-Spalten, um die Hauptabfrage mit der Unterabfrage zu verbinden.
  3. Berechnen Sie den Prozentsatz der Datensätze, bei denen MyColumn gleich 1 ist, indem Sie die Anzahl in der Unterabfrage durch die Gesamtzahl der Datensätze für jede UID dividieren. Beachten Sie, dass der Divisor 100 in 100.0 geändert wird, um eine Gleitkommadivision sicherzustellen und ein genaueres prozentuales Ergebnis zu erhalten.
  4. Wenden Sie den berechneten Prozentsatz auf die Spalte PercentageOfOne an.

Diese überarbeitete Abfrage vermeidet potenzielle Probleme bei der Ganzzahldivision, indem bei der Prozentberechnung 100.0 anstelle von 100 verwendet wird, wodurch ein genaueres Gleitkommaergebnis gewährleistet wird.

Das obige ist der detaillierte Inhalt vonWie zähle ich Datensätze, die eine bestimmte Bedingung erfüllen, und berechne den Prozentsatz in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage