我正在dbvisualizer 中执行以下sql
Select column1,column2,column3 from table group by column3;
它显示以下错误:
15:47:09[SELECT-0行,0.000秒][错误代码:979,SQL状态:42000]ORA-00979:不是GROUP BY表达式…执行了1条语句,影响了0行,执行/获取时间:0.000/0.000秒[0成功,0警告,1错误]
但当我像一样查询时,它会给出结果
Select column1 from table group by column1;
查询中是否存在语法错误或某些配置或支持问题。
在group by
语句中,您应该指定与select
中的列相同的列(sum、count等除外)
所以你的查询
Select column1,column2,column3 from table group by column3;
应该是
Select column1,column2,column3 from table group by column1,column2,column3;
SELECT子句AND GROUP BY子句列类似于HUSBAND AND WIFE。在SELECT中执行的聚合操作是它们的子级。我的意思是说,SELECT和GROUP BY子句中的列数应该相等。这是一条经验法则。