我要检索数据 本月米数减去上月米数, 并按照各自的代码扣除电表的值(value)。 然后总结一下整体。
大约有8000条记录。
但我尝试获取 5 条记录,需要时间 2 分 53 秒, 100 条记录需要时间(1 分 1:57 秒)。 真的很重要。
我有这样的查询。
SELECT code hvCode,
IFNULL( (SELECT meter
FROM bmrpt
WHERE waktu_foto LIKE '2014-05%'
GROUP BY code HAVING code = hvCode),0 )
-IFNULL( (SELECT meter
FROM bmrpt WHERE waktu_foto LIKE '2014-04%'
GROUP BY code HAVING code = hvCode),0 )hasil
FROM bmrpt group by code;
有人有想法更改要优化的查询吗?
这是sqlfiddle http://www.sqlfiddle.com/#!2/495c0/1
最诚挚的问候
最佳答案
虽然你的问题不清楚,但请尝试下面的子查询,据我所知
SELECT COALESCE(SUM(`meter`),0) FROM table WHERE code ='hvCode' AND MONTH(`date_column`) = 5
-
SELECT COALESCE(SUM(`meter`),0) FROM table WHERE code ='hvCode' AND MONTH(`date_column`) = 4
关于mysql - 具有多个子查询的查询优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26249754/