表格
Column | Type
-------------------------------------------
Project_ID | INT AI
-------------------------------------------
Rejection_Rate | double
-------------------------------------------
数据:
Proj Name | AVG Value
-------------------------------------------
Project1 | 100
-------------------------------------------
Project2 | 200
-------------------------------------------
Project2 | 100
-------------------------------------------
MySql查询:
SELECT concat(Project_ID,'-',Project_Name) as `Proj Name`,
ROUND(Avg(Rejection_Rate),2) as `AVG Value`
FROM project
GROUP BY Project_ID
ORDER BY Project_ID
结果:
Proj Name | AVG Value
-------------------------------------------
Project1 | 100.00
-------------------------------------------
Project2 | 135.77
-------------------------------------------
以上是实际数据。
AVG的返回值不正确。 Project2 返回 135.77 。 它应该 150.00 对吗?
另外,为什么结果是135.77?
我也尝试了一些可能性,为什么我最终得到了135.77,但没有得到相同的结果。
答案 0 :(得分:1)
不清楚表格中Rejection_Rate
的位置。
与此相比......
CREATE TABLE Nums (
ProjName VARCHAR(20),
ProjVal DOUBLE
);
INSERT INTO Nums
VALUES ("A", 100), ("A", 175), ("B", 200), ("B", 100);
SELECT DISTINCT ProjName, Round(Avg(ProjVal),2) Average
FROM Nums
GROUP BY ProjName;
项目结果为137.5" A"项目150和B"