0

他の投稿からグループ式エラーではないことについて読み込もうとしましたが、それらはすべて MAX、MIN などのグループ関数に言及しています。私はそれを使用しておらず、この種のエラーを返すのは非常に単純なクエリです。 .

SELECT * 
FROM   ad_voarnet_atendimento_pista 
WHERE  is_closed = 0 
GROUP  BY prefixo 
ORDER  BY prefixo 

ここで何が間違っていますか?

編集:

期待される結果は、MySQL がこのクエリで私に与えるものと同じです。列 PREFIXO のすべての重複値が除外されます。上記の列の各値のレコードが 1 つだけ必要です。エラーメッセージは次のとおりです。

[Err] ORA-00979: not a GROUP BY expression
4

1 に答える 1

3

は、おそらく行の重複除去を除いて、GROUP BYのような集約関数のコンテキスト外では役に立ちません。MIN() MAX() SUM() COUNT()取り除くだけです。結果の重複排除を検討している場合は、DISTINCT代わりに使用してください。を使用する場合、主キー列を除いて、リストDISTINCT内の列についてより具体的にしない限り、あまり価値がありません。SELECT

SELECT
  DISTINCT * 
FROM 
  AD_VOARNET_ATENDIMENTO_PISTA 
WHERE IS_CLOSED = 0
ORDER BY PREFIXO

GROUP BYと混同されることがありORDER BYます。あなたはすでにORDER BY PREFIX0

于 2012-11-14T15:09:39.890 に答える