2013-10-08 15 views
0

以下是我用來將數據提供給jquery數據表的查詢。 從這個查詢中,我需要結果以及總行數。所以,我將總行數作爲子查詢返回。mysql子查詢運行一次或多次等於沒有記錄?

SELECT m.*, 
     (SELECT COUNT(*) 
       FROM member m 
       INNER JOIN relationship r ON m.ID = r.Relative_ID 
       WHERE r.Member_ID=33) as TotalRows 
FROM member m 
INNER JOIN relationship r ON m.ID = r.Relative_ID 
WHERE r.Member_ID=33 
ORDER BY 1 asc 
LIMIT 0, 10 

子查詢是將totalrows運行一次或10次還是多次?

回答

0

WHERE條件應用於SELECT語句之前,因此您只會執行一個子查詢。這與在WHERE條件下無法使用SELECT別名的原因相同。

0

只有一個子查詢,而且這個查詢沒有連接到任何其他的查詢,所以我假設它只運行一次。

查詢執行計劃會給你一個明確的答案。