Heim >Datenbank >MySQL-Tutorial >Wie rufe ich Zeilenanzahlen aus mehreren Tabellen in einer einzelnen SQL-Zeile ab?
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>
UNION ALL
fehlschlägtEin 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>
Dadurch werden für jede Zählung separate Zeilen erzeugt, nicht die Einzelzeilenausgabe, die wir benötigen.
DUAL
TabelleDie 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>
Aufschlüsselung:
SELECT
: Dadurch wird eine einzelne Zeile erstellt, in der unsere Ergebnisse (count1
und count2
) gespeichert werden.DUAL
Tabelle: Stellt die einzelne Zeile bereit, mit der die äußere SELECT
arbeiten kann.tab1
und tab2
.AS
Klauseln: 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!