[英](mysql) subquery returns more than one row
I'm trying to fetch the total .of "jml_pddk_miskin" in each district("kecamatan") with Ascending order. 我正在尝试以升序获取每个地区(“ kecamatan”)中的“ .jml_pddk_miskin”总数。 But I get the error as "subquery returns more than one row".
但是我收到错误,因为“子查询返回多个行”。
this is my query: 这是我的查询:
select
mkec.id AS id,mkec.nama AS kecamatan,rpb.tahun AS tahun,
ifnull((select sum(rpb.jml_pddk_miskin)
from rekap_penduduk_bps rpb
join master_kelurahan mkel on mkel.id = rpb.id_kelurahan
where
mkel.id_kecamatan = mkec.id
and rpb.id_kelurahan = mkel.id
group by rpb.id ),0) AS total_miskin
from master_kecamatan mkec
join rekap_penduduk_bps rpb
group by mkec.nama
order by mkec.id
This is the result of above query: result query 这是上述查询的结果: result查询
I want result like this... result query 我想要这样的结果... 结果查询
Your inner query 您的内部查询
select sum(rpb.jml_pddk_miskin)
from rekap_penduduk_bps rpb
join master_kelurahan mkel on mkel.id = rpb.id_kelurahan
where
mkel.id_kecamatan = mkec.id
and rpb.id_kelurahan = mkel.id
group by rpb.id
is obviously returning more than one row (by the group by
clause). 显然返回了多于一行(通过
group by
子句)。
try this, 尝试这个,
SELECT mkec.id AS id,mkec.nama AS kecamatan,rpb.tahun AS tahun,IFNULL((SELECT SUM(rpb.jml_pddk_miskin)
FROM (rekap_penduduk_bps rpb JOIN master_kelurahan mkel ON mkel.id = rpb.id_kelurahan) WHERE
mkel.id_kecamatan = mkec.id AND rpb.id_kelurahan = mkel.id GROUP BY rpb.id HAVING rpb.id_kelurahan = mkel.id ),0)
AS total_miskin FROM master_kecamatan mkec JOIN rekap_penduduk_bps rpb ON mkec.id= rpb.id_kelurahan GROUP BY mkec.nama ORDER BY mkec.id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.