在一个查询中对MySQL中生成的列表求和
我需要对从现有查询得到的结果求和。它必须扩展当前查询并保持单个查询 (我的意思是不做1;做2;做3;) 我目前的查询是:在一个查询中对MySQL中生成的列表求和,mysql,sql,sum,Mysql,Sql,Sum,我需要对从现有查询得到的结果求和。它必须扩展当前查询并保持单个查询 (我的意思是不做1;做2;做3;) 我目前的查询是: SELECT SUM((count)/(SELECT COUNT(*) FROM mobile_site_statistics WHERE campaign_id='1201' AND start_time BETWEEN CURDATE()-1 AND CURDATE())*100) AS percentage FROM mobile_site_statistics WHE
SELECT SUM((count)/(SELECT COUNT(*) FROM mobile_site_statistics WHERE campaign_id='1201' AND start_time BETWEEN CURDATE()-1 AND CURDATE())*100) AS percentage FROM mobile_site_statistics WHERE device NOT LIKE '%Pingdom%' AND campaign_id='1201' AND start_time BETWEEN (CURDATE()-1) AND CURDATE() GROUP BY device ORDER BY 1 DESC LIMIT 10;
这将返回:
+------------+
| percentage |
+------------+
| 47.3813 |
| 19.7940 |
| 5.6672 |
| 5.0801 |
| 3.9603 |
| 3.8500 |
| 3.1294 |
| 2.9924 |
| 2.9398 |
| 2.7136 |
+------------+
我需要的是该表的总数(前10个设备使用的总百分比)(仅此而已),但它必须是单个查询(必须包括初始查询)(必须是单个查询,因为另一个程序正在使用该查询)
这可能吗?到目前为止,我尝试的每一种方法都失败了。我们尝试了临时表,但结果变成了多个查询。只需执行一次即可
SELECT SUM(percentage) AS total FROM (<YOUR_QUERY>) a
从()中选择总和(百分比)作为总计
然后用初始查询替换子查询
,只需执行从()a中选择总和(百分比)作为总计,非常感谢。这完全奏效了!我回答了我的评论,所以如果对你合适的话,你可以接受