wawaanjo 0 Denunciar post Postado Janeiro 1, 2014 Srs. Em minha query estou buscando os campos (de uma única tabela) que são: Produto, Tipo_Erro --- (EC, ENC) somente esses dois valores Descrição, -- Descrição do erro Quantidade -- Quantas vezes esse erro foi cometido para determinado produto Preciso buscar somente os 10 erros mais cometidos por produto e por tipo de erro. Exemplo: Produto A teve 13 erros EC e 22 erros ENC Produto B teve 32 erros EC e 19 erros ENC -> Para o produto A tem que trazer somente os 10 erros EC mais cometidos (vou ter isso na coluna Qtde) e os 10 erros ENC mais cometidos, desprezando os demais Da mesma forma, para o produto B, somente os 10 erros EC mais cometidos e os 10 erros ENC mais cometidos. Como posso estar fazendo isso? Colocando somente rownun vai fazer os 10 primeiros de tudo, mas eu preciso os 10 mais cometidos EC e ENC por produto. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 1, 2014 Faça um query contando por tipo, use esta query como uma tabela virtual e teste seca coluna do count e maior que 10. Estou digitando num tablet, impossivel dditar se nao conseguir amanhã posto o sql. Compartilhar este post Link para o post Compartilhar em outros sites
wawaanjo 0 Denunciar post Postado Janeiro 5, 2014 Olá. Tentei dessa forma, mas sem mto conhecimento do row_number e portanto não funcionou SELECT ANO, MES, PRODUTO, TIPO_ERRO, DESCRICAO, QTDEFROM ( SELECT ANO, MES, PRODUTO, TIPO_ERRO, DESCRICAO, COUNT(*) QTDE FROM TABELA group by MES, NOME_FORMULARIO, ANO, NOME_SESSAO, ITEM_PONTUADO ORDER BY 1,2,3,4,6 DESC ) ROW_NUMBER() OVER (PARTITION BY PRODUTO, TIPO_ERRO ORDER BY QTDE DESC) ; Alguém poderia dar um help com isso Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 5, 2014 Que erro deu ? Compartilhar este post Link para o post Compartilhar em outros sites
wawaanjo 0 Denunciar post Postado Janeiro 5, 2014 Erro de Sintax. Não conheço muito a utilização do Row_number no Oracle (por sempre trabalhar com outro banco) Na minha sub-query estou quantificando os erros por tipo e por produto. E com isso consigo visualizar os 10 mais cometidos por produto e por tipo de erro (EC e ENC), porém eu não estou conseguindo buscar SOMENTE os 10 primeiros de cada produto e de cada tipo. Imagino que c/ o row_number isso seja possível, mas não consegui fazer isso Poderia me ajudar Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 5, 2014 Em Oracle é ROWNUM. Estou num tablet , amanha dou uma olhada nesta query. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 6, 2014 --Contando SELECT ANO, MES, PRODUTO, TIPO_ERRO, DESCRICAO, COUNT(*) QTDE FROM TABELA group by MES, NOME_FORMULARIO, ANO, NOME_SESSAO, ITEM_PONTUADO -- maiores select * from ( SELECT ANO, MES, PRODUTO, TIPO_ERRO, DESCRICAO, COUNT(*) QTDE FROM TABELA group by MES, NOME_FORMULARIO, ANO, NOME_SESSAO, ITEM_PONTUADO) where qtd >= 10 Creio ser isto Compartilhar este post Link para o post Compartilhar em outros sites