Heim > Datenbank > MySQL-Tutorial > Wie rufe ich Zeilenanzahlen aus mehreren Tabellen in einer einzelnen SQL-Zeile ab?

Wie rufe ich Zeilenanzahlen aus mehreren Tabellen in einer einzelnen SQL-Zeile ab?

Patricia Arquette
Freigeben: 2025-01-11 13:56:44
Original
248 Leute haben es durchsucht

How to Retrieve Row Counts from Multiple Tables in a Single SQL Row?

Effizientes Abrufen der Zeilenanzahl aus mehreren Tabellen in SQL

Das Abrufen der Zeilenanzahl aus mehreren SQL-Tabellen und deren Anzeige in einer einzelnen Zeile kann schwierig sein. Dieses Beispiel zeigt, wie Zählungen von tab1 und tab2 abgerufen werden, wobei die Ergebnisse wie folgt dargestellt werden:

<code>Count_1   Count_2
123       456</code>
Nach dem Login kopieren

Warum UNION ALL fehlschlägt

Ein gängiger, aber fehlerhafter Ansatz verwendet UNION ALL:

<code class="language-sql">select count(*) Count_1 from schema.tab1 union all select count(*) Count_2 from schema.tab2</code>
Nach dem Login kopieren

Dadurch werden für jede Zählung separate Zeilen erzeugt, nicht die Einzelzeilenausgabe, die wir benötigen.

Die Lösung: Unterabfragen und die DUALTabelle

Die Lösung nutzt Unterabfragen und die DUAL-Tabelle (eine virtuelle Tabelle, die eine einzelne Zeile bereitstellt). Hier ist die richtige Abfrage:

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

Aufschlüsselung:

  • Äußeres SELECT: Dadurch wird eine einzelne Zeile erstellt, in der unsere Ergebnisse (count1 und count2) gespeichert werden.
  • DUALTabelle: Stellt die einzelne Zeile bereit, mit der die äußere SELECT arbeiten kann.
  • Unterabfragen: Berechnen Sie unabhängig die Zeilenanzahl für tab1 und tab2.
  • ASKlauseln: Weisen Sie den Ergebnisspalten aussagekräftige Namen (count1, count2) zu.

Diese Methode konsolidiert die Zählungen aus beiden Tabellen effizient in einer einzigen, übersichtlich formatierten Zeile.

Das obige ist der detaillierte Inhalt vonWie rufe ich Zeilenanzahlen aus mehreren Tabellen in einer einzelnen SQL-Zeile ab?. 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