我在PostgreSQL数据库上执行GROUP BY查询,但结果没有正确显示
这是我的查询:
SELECT
'ship_class',
AVG(dead_weight),
AVG(length),
AVG(beam)
FROM
ais
WHERE
dead_weight != -1 AND dead_weight IS NOT NULL
AND length != -1 AND length IS NOT NULL
AND beam != -1 AND beam IS NOT NULL
GROUP BY
ship_class;
结果如下:
?column? | avg | avg | avg
------------+--------------------+----------------------+---------------------
ship_class | 392.9976146302677 | 48.1044261860588391 | 12.8234826398091704
ship_class | 71.5188492063492 | 40.4335317460317460 | 11.1041666666666667
ship_class | 67566.23277656965 | 233.8205246842178319 | 35.2444824873918475
ship_class | 13522.685408299865 | 150.7456492637215529 | 22.4805890227576975
下面是我正在查询的
表中的数据的示例ship_class| dead_weight | length | beam
------------+--------------------+----------------------+---------------------
Class A | 340 | 38 | 9
Class B | 68 | 41 | 9
Class D | 5500 | 205 | 37
Class C | 2000 | 135 | 21
Class B | 340 | 38 | 9
Class B | 68 | 41 | 9
Class C | 5500 | 205 | 37
Class D | 2000 | 135 | 21
列ship类有值class A, class B, class C和class D,那么为什么结果不显示这些而只显示列名呢?我不知道哪个结果对应哪个类。
我想你引用的是第一列,'ship_class'
。试试只使用ship_class
。