Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 获取复杂查询的计数结果_Mysql - Fatal编程技术网

Mysql 获取复杂查询的计数结果

Mysql 获取复杂查询的计数结果,mysql,Mysql,假设我有这个sql查询 SELECT max(times_viewed) as m, member_id, (select count(viewed_url) from exp_member_page_tracker where member_id=mpv.member_id) FROM `exp_member_page_tracker` mpv group by member_id 我需要计算所有结果。我是这样做的 SELECT count(member_id) from ( SELECT

假设我有这个sql查询

SELECT max(times_viewed) as m, member_id, (select count(viewed_url) from exp_member_page_tracker  where member_id=mpv.member_id)
FROM `exp_member_page_tracker` mpv
group by member_id
我需要计算所有结果。我是这样做的

SELECT count(member_id) from ( SELECT max(times_viewed) as m, member_id, (select count(viewed_url) from exp_member_page_tracker where member_id=mpv.member_id)
FROM `exp_member_page_tracker` mpv
group by member_id) as m2
但我不确定这是如何有效的。你能建议我如何以最好的方式计算结果吗


谢谢你的子查询,我是否遗漏了什么,这个结果不是更有效吗? 在sqlfiddle尝试:

你的:

SELECT member_id, max(times_viewed) as max_times_viewed 
, (select count(viewed_url) from exp_member_page_tracker  where member_id=mpv.member_id) as countOfViewedUrl
FROM `exp_member_page_tracker` mpv
group by member_id;
备选方案:

SELECT member_id, max(times_viewed) as max_times_viewed
, count(viewed_url) as countOfViewedUrl
FROM `exp_member_page_tracker` mpv
group by member_id;

我认为如果有100万条记录,它会选择这100万条记录,然后计数。我错了吗?