PostgreSQL Group By查询结果不显示组值,只显示列名



我在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

最新更新