0

下面是我用来向 jquery 数据表提供数据的查询。从这个查询中,我需要结果以及总行数。因此,我将总行数作为子查询返回。

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 次还是多次?

4

2 回答 2

0

这里只有一个子查询,并且它没有加入查询之外的任何其他内容,所以我假设它只运行一次。

查询执行计划会给你一个明确的答案。

于 2013-10-08T13:59:49.013 回答
0

WHERE条件在语句之前应用,SELECT因此您只需执行一个子查询。这与不能在WHERE条件中使用 SELECT 别名的原因相同。

于 2013-10-08T14:07:36.237 回答