Heim > Datenbank > MySQL-Tutorial > Wie berechnet man den Prozentsatz übereinstimmender Werte zwischen zwei Spalten in einer einzelnen SQL-SELECT-Anweisung?

Wie berechnet man den Prozentsatz übereinstimmender Werte zwischen zwei Spalten in einer einzelnen SQL-SELECT-Anweisung?

Mary-Kate Olsen
Freigeben: 2024-12-28 19:58:10
Original
273 Leute haben es durchsucht

How to Calculate the Percentage of Matching Values Between Two Columns in a Single SQL SELECT Statement?

Berechnen von Prozentsätzen aus SUM() innerhalb einer einzelnen SELECT-Anweisung in SQL

Im Kontext der Tabelle „my_obj“, die zwei Ganzzahlfelder enthält („value_a“ und „value_b“) möchten Sie den Prozentsatz der Fälle ermitteln, in denen „value_a“ gleich ist 'value_b'.

Einfache und effiziente Methode

Für optimale Leistung und Einfachheit sollten Sie die folgende überarbeitete Abfrage berücksichtigen:

SELECT property_name
      ,(count(value_a = value_b OR NULL) * 100) / count(*) AS pct
FROM   my_obj
GROUP  BY 1;
Nach dem Login kopieren

Dies Der Ansatz nutzt die Fähigkeit von „count()“, „NULL“-Werte zu ignorieren, um sicherzustellen, dass beide Spalten berücksichtigt werden. Indem die Anzahl der übereinstimmenden Werte mit 100 multipliziert und durch die Gesamtzahl dividiert wird, wird der Prozentsatz berechnet.

Einschließlich Bruchziffern

Wenn Bruchziffern gewünscht werden Verwenden Sie für das Ergebnis „100,0“ anstelle von „100“ in der Berechnung und erwägen Sie die Verwendung 'round()':

SELECT property_name
      ,round((count(value_a = value_b OR NULL) * 100.0) / count(*), 2) AS pct
FROM   my_obj
GROUP  BY 1;
Nach dem Login kopieren

Diese überarbeitete Version stellt sicher, dass die Berechnung numerisch bleibt, Bruchwerte erhalten bleiben und eine höhere Präzision beim gemeldeten Prozentsatz ermöglicht.

Das obige ist der detaillierte Inhalt vonWie berechnet man den Prozentsatz übereinstimmender Werte zwischen zwei Spalten in einer einzelnen SQL-SELECT-Anweisung?. 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