Sql 给一个喷泉

Sql 给一个喷泉,sql,oracle,subquery,percentage,Sql,Oracle,Subquery,Percentage,我是用法语提出这个要求的。我不确定你是否需要数据库数据库。我在用甲骨文 我只想乘以平均值(Taux_remplissage)或MOY x 100,因为我想要它作为一个百分比。我该怎么办 SELECT numC , sum(prix) as Cout_Tot , avg(Taux_remplissage) as MOY FROM ( SELECT P.numC , P.dateDep , C.prix ,nbRes , nbPlaces , ( R.nbRes / P.nbPlaces) as

我是用法语提出这个要求的。我不确定你是否需要数据库数据库。我在用甲骨文

我只想乘以平均值(Taux_remplissage)或MOY x 100,因为我想要它作为一个百分比。我该怎么办

SELECT numC , sum(prix) as Cout_Tot , avg(Taux_remplissage) as MOY
FROM
(
SELECT P.numC , P.dateDep , C.prix  ,nbRes , nbPlaces , ( R.nbRes / 
P.nbPlaces) as Taux_remplissage
FROM lesProgrammations P
JOIN lesReservations R ON R.numC = P.numC AND R.dateDep = P.dateDep  
JOIN lesCircuits C ON P.numC = C.numC
ORDER BY P.numC , P.dateDep
)
GROUP BY numC
ORDER BY numC;
编辑: 谢谢你的帮助!我找到了解决办法:)


试试下面的方法,只需乘以平均值(Taux_remplissage)*100

SELECT numC , sum(prix) as Cout_Tot , avg(Taux_remplissage)*100 as MOY
FROM
(
SELECT P.numC , P.dateDep , C.prix  ,nbRes , nbPlaces , ( R.nbRes / 
P.nbPlaces) as Taux_remplissage
FROM lesProgrammations P
JOIN lesReservations R ON R.numC = P.numC AND R.dateDep = P.dateDep  
JOIN lesCircuits C ON P.numC = C.numC
ORDER BY P.numC , P.dateDep
)
GROUP BY numC
ORDER BY numC;

您不需要对此进行子查询:

SELECT numC, sum(prix) as Cout_Tot,
       (100 * avg(R.nbRes / P.nbPlaces)) as MOY
FROM lesProgrammations P JOIN
     lesReservations R
     ON R.numC = P.numC AND R.dateDep = P.dateDep JOIN 
     lesCircuits C
     ON P.numC = C.numC
GROUP BY numC
ORDER BY numC;

此外,
orderby
不适用于子查询。

请提供示例数据和所需结果。为什么
avg(Taux_remplissage)*100不做你想做的事?
SELECT numC, sum(prix) as Cout_Tot,
       (100 * avg(R.nbRes / P.nbPlaces)) as MOY
FROM lesProgrammations P JOIN
     lesReservations R
     ON R.numC = P.numC AND R.dateDep = P.dateDep JOIN 
     lesCircuits C
     ON P.numC = C.numC
GROUP BY numC
ORDER BY numC;