当我开始此查询时,出现此错误:
AnalysisException:子查询必须返回单行:
make_call
查询:
(SELECT round(c1.feb15 + c1.nov15 + c1.dec15) FROM suivisousse.compteur2015)
答案 0 :(得分:0)
您的内部选择查询select round(c1.feb15+c1.nov15+c1.dec15) from compteur2015
返回多个记录。确保内部查询只返回一条有效记录。
答案 1 :(得分:0)
尝试一下。
select c2.compteur, ((c1.feb15+c1.nov15+c1.dec15)*100 / (select round(c1.feb15+c1.nov15+c1.dec15) from compteur2015 c15 where c1.compteur = c15.compteur ))
from compteur2015 c1, compteur c2
group by c2.compteur
答案 2 :(得分:0)
不确定要达到的目标。您似乎不需要子查询。
尝试一下:
SELECT
c2.compteur,
(c1.feb15 + c1.nov15 + c1.dec15) * 100 / ROUND(c1.feb15 + c1.nov15 + c1.dec15)
FROM compteur2015 c1
INNER JOIN compteur c2
ON c1.compteur = c2.compteur
GROUP BY
c2.compteur
答案 3 :(得分:0)
您可能正在尝试编写此代码:
SELECT c2.compteur,
( SUM(c1.feb15 + c1.nov15 + c1.dec15) * 100 /
(SELECT SUM(c1.feb15 + c1.nov15 + c1.dec15) FROM compteur2015)
)
FROM compteur2015 c1 JOIN
compteur c2
ON c1.compteur = c2.compteur
GROUP BY c2.compteur;
但是,它更简单地写为:
SELECT c2.compteur,
( SUM(c1.feb15 + c1.nov15 + c1.dec15) * 100 /
SUM(SUM(c1.feb15 + c1.nov15 + c1.dec15)) OVER ()
)
FROM compteur2015 c1 JOIN
compteur c2
ON c1.compteur = c2.compteur
GROUP BY c2.compteur;