Heim > Datenbank > MySQL-Tutorial > Wie erhalte ich separate Zählungen aus mehreren Tabellen in einer einzelnen SQL-Abfrage?

Wie erhalte ich separate Zählungen aus mehreren Tabellen in einer einzelnen SQL-Abfrage?

DDD
Freigeben: 2025-01-11 13:47:43
Original
872 Leute haben es durchsucht

How to Get Separate Counts from Multiple Tables in a Single SQL Query?

*SELECT COUNT()**

AUS MEHREREN TABELLEN

Bei der Arbeit mit Datenbanktabellen ist es manchmal notwendig, Zählungen aus mehreren Tabellen abzurufen und die Ergebnisse als separate Spalten anzuzeigen. Eine häufige Herausforderung entsteht beim Versuch, Zählwerte aus zwei verschiedenen Tabellen (Tab1 und Tab2) abzurufen.

Die von Ihnen erwähnte Verwendung von UNION ALL ist eine gängige Methode. Diese Methode erzeugt jedoch einen Ergebnissatz mit nur einer Spalte, wobei die Zählungen nacheinander angezeigt werden.

Um diese Einschränkung zu überwinden und die Anzahl in einer separaten Spalte anzuzeigen, ist ein anderer SQL-Ansatz erforderlich:

<code class="language-sql">SELECT  (
        SELECT COUNT(*)
        FROM   tab1
        ) AS count1,
        (
        SELECT COUNT(*)
        FROM   tab2
        ) AS count2
FROM    dual</code>
Nach dem Login kopieren

In dieser Abfrage enthält die SELECT-Anweisung zwei Unterabfragen:

  • Die erste Unterabfrage (in Klammern eingeschlossen) ruft COUNT(*) von tab1 ab und weist es dem Alias ​​count1 zu.
  • Die zweite Unterabfrage (ebenfalls in Klammern eingeschlossen) macht dasselbe für tab2, weist es jedoch count2 zu.

Die FROM-Klausel verwendet die Dual-Tabelle, eine virtuelle Tabelle in der Oracle-Datenbank. Sie gibt immer eine Datenzeile mit nur einer Spalte zurück. Dies ist erforderlich, um eine Ergebnismengenstruktur (ähnlich einem Cross-Join) zu erstellen, die die Zählungen beider Unterabfragen berücksichtigt.

Daher erzeugt diese Abfrage eine Ausgabe mit zwei Spalten: count1 und count2, die jeweils die Zählungen von tab1 und tab2 enthalten. Dieser Ansatz gewährleistet eine klare und geordnete Darstellung der COUNT(*)-Werte aus zwei verschiedenen Tabellen.

Das obige ist der detaillierte Inhalt vonWie erhalte ich separate Zählungen aus mehreren Tabellen in einer einzelnen SQL-Abfrage?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage