SQL 给出百分比
SQL giving a pourcentage
我已经用法语提出了这个请求。我不确定您是否需要数据库 DB。我正在使用 ORACLE
我只想将 avg(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;
编辑:
感谢您的帮助!我找到了解决方案:)
avg(Taux_remplissage) * 100 / sum(Taux_remplissage) AS Taux_moy_remplissage
像下面那样尝试乘 avg(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;
此外,ORDER BY
不适合子查询。
我已经用法语提出了这个请求。我不确定您是否需要数据库 DB。我正在使用 ORACLE
我只想将 avg(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;
编辑: 感谢您的帮助!我找到了解决方案:)
avg(Taux_remplissage) * 100 / sum(Taux_remplissage) AS Taux_moy_remplissage
像下面那样尝试乘 avg(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;
此外,ORDER BY
不适合子查询。