從多個 SQL 表獲取行計數並將其顯示在單行中可能很棘手。 此範例示範如何從 tab1
和 tab2
擷取計數,將結果顯示為:
<code>Count_1 Count_2 123 456</code>
UNION ALL
失敗一種常見但有缺陷的方法使用 UNION ALL
:
<code class="language-sql">select count(*) Count_1 from schema.tab1 union all select count(*) Count_2 from schema.tab2</code>
這會為每個計數產生單獨的行,而不是我們需要的單行輸出。
DUAL
表此解決方案利用子查詢和DUAL
表(提供單行的虛擬表)。 這是正確的查詢:
<code class="language-sql">SELECT ( SELECT COUNT(*) FROM tab1 ) AS count1, ( SELECT COUNT(*) FROM tab2 ) AS count2 FROM dual;</code>
細分:
SELECT
: 這將建立一行來保存我們的結果(count1
和 count2
)。 DUAL
表: 提供單行供外部 SELECT
使用。 tab1
和tab2
的行數。 AS
子句: 為結果欄位指派有意義的名稱(count1
、count2
)。 此方法有效地將兩個表中的計數合併到一個格式整齊的行中。
以上是如何從單一 SQL 行中的多個表中檢索行計數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!