有沒有一種方法可以選擇帶有一個查詢的兩個表的COUNT?使用MYSQL在一個查詢中選擇兩個表中的COUNT
目前我有以下,它不能正常工作。
SELECT
COUNT(t1.id) as t1_amount,
COUNT(t2.id) as t2_amount
FROM
table1 t1,
table2 t2
有沒有一種方法可以選擇帶有一個查詢的兩個表的COUNT?使用MYSQL在一個查詢中選擇兩個表中的COUNT
目前我有以下,它不能正常工作。
SELECT
COUNT(t1.id) as t1_amount,
COUNT(t2.id) as t2_amount
FROM
table1 t1,
table2 t2
這裏有一種方法:
select (select count(*) from table1) as t1_amount,
(select count(*) from table2) as t2_amount
這裏是另一種方式:
select t1.t1_amount, t2.t2_amount
from (select count(*) as t1_amount from table1) t1 cross join
(select count(*) as t2_amount from table2) t2
你的方法行不通,因爲from
子句中的,
做了cross join
。這是兩張桌子之間的笛卡爾產品。
感謝戈登哪種方法更有效? – Bruce
@ bluebill1049。 。 。在效率方面它們應該是一樣的。就個人而言,我更喜歡第二種方法,因爲我傾向於避免在select語句中選擇select。 –
謝謝戈登,我會按照你的建議 – Bruce