[Resolvido]Firebird usando Group By

Bom dia galera, estou usando o Banco de Dados Firebird para realizar uma busca sendo que nessa busca eu preciso agrupar pelo campo APROVACAO_POSVENDA então criei o seguinte SQL inicialmente:

String sql = "SELECT p.APROVACAO_POSVENDA, p.DATAPED, " + "Count(p.APROVACAO_POSVENDA) as CONTADOR, " //busco o contador de registros agrupados +"SUM(p.PV_P1)/COUNT(p.APROVACAO_POSVENDA) as MEDIA " //calculo uma média simples +"FROM PEDIDO p WHERE p.APROVACAO_POSVENDA='S' " //condição simples +"GROUP BY p.APROVACAO_POSVENDA"; //Isso funciona em outros bancos mas com Firebird não

ai o seguinte erro ocorre

[color=darkred]org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -104
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)
at org.firebirdsql.jdbc.AbstractStatement.executeQuery(AbstractStatement.java:224)
at br.com.persistencia.PedidoDAO.getMediaPedido(PedidoDAO.java:43)
at testes.Teste.main(Teste.java:15)

[/color]
Pesquisei sobre esse erro e encontrei um usuário falando que deveria adicionar os campos que estão sendo buscados no Group by e então eu alterei ficando dessa forma:

String sql = "SELECT p.APROVACAO_POSVENDA, p.DATAPED, " + "Count(p.APROVACAO_POSVENDA) as CONTADOR, " //busco o contador de registros agrupados +"SUM(p.PV_P1)/COUNT(p.APROVACAO_POSVENDA) as MEDIA " //calculo uma média simples +"FROM PEDIDO p WHERE p.APROVACAO_POSVENDA='S' " //condição simples +"GROUP BY p.APROVACAO_POSVENDA, p.DATAPED "; //Novo Group By que não agrupa nada

Achei meio estranho porque só quero agrupar o campo APROVACAO_POSVENDA porém adicionei o campo DATAPED também que sempre será diferente um do outro. Agora não acontece mais erro mais os dados não são agrupados me retornando uma listagem com todos os objetos referente a pesquisa. Alguém sabe como posso resolver isso?

Mas é assim que se faz… vc quer agrupar um campo e mostrar dois campos ?! ^^ vai da erro

Seu SQL ta certo, nada de errado…

;]

Mas é assim que se faz… vc quer agrupar um campo e mostrar dois campos ?! ^^ vai da erro

Seu SQL ta certo, nada de errado…

;][/quote]

Sim, dessa forma não está dando erro porém não agrupa nenhum campo pela APROVACAO_POSVENDA, ou seja, esperava que meu resultado me retornasse 1 registro do banco de dados só que essa SQL me retorna todos eles sem agrupa-los.

Só pra constar, o meu caso eu não precisava do campo p.DATAPED e o código ficou como o mostrado abaixo:

String sql = "SELECT p.APROVACAO_POSVENDA, " + "Count(p.APROVACAO_POSVENDA) as CONTADOR, " //busco o contador de registros agrupados +"SUM(p.PV_P1)/COUNT(p.APROVACAO_POSVENDA) as MEDIA " //calculo uma média simples +"FROM PEDIDO p WHERE p.APROVACAO_POSVENDA='S' " //condição simples +"GROUP BY p.APROVACAO_POSVENDA"; //Novo Group By que não agrupa nada

Porém se eu precisa-se de mais campos o mesmo erro ocorreria então se alguém ainda souber responder pode colocar aí, flw!