以下查询似乎行为不正确。对于单个字段上的分组和该字段上的平均值,不同的平均值应该为每个不同的平均值返回一行。如果avg被count替换,例如查询将返回两行,如果distinct被删除或被all替换,则查询返回三行。
CREATE TABLE x (x real);
INSERT INTO x VALUES (1), (2), (3), (3);
SELECT DISTINCT AVG(x) FROM x GROUP BY x;
MySQL返回:
+--------+
| AVG(x) |
+--------+
| 1 |
+--------+
PostGres回归:
AVG
-----
1
2
3
答案 0 :(得分:0)
我相信你的select语句必须是:
SELECT AVG(distinct x)
答案 1 :(得分:0)