-
Conteúdo Similar
-
Por Kr3w^
Pessoal, bom dia
Estou com um problema e quebrando a cabeça para resolver.
Eu preciso filtrar informação de uma tabela e somar as quantidades do período informado e trazer a quantidade total do mês para esse produto.
Segue um exemplo de como eu queria que viesse.
Ao filtrar o período do mês 01/01/2020 a 31/12/2020 ele deveria trazer para mim a seguinte informação.
Item - MES - Quantidade
PARAFUSO - JANEIRO - 40
PARAFUSO - FEVEREIRO - 20
PARAFUSO - MARÇO - 30
.....
PARAFUSO - DEZEMBRO- 10
Dentro do período informado ele trás a quantidade total do mês, porém, essa quantidade eu faço a soma pelo SUM e como eu preciso trazer o mês falar qual o mes e quantidade, ele trás mais linhas do mesmo mês, isso porque, dentro do mês ele possui registros de diversas datas, e o group by quando vê as datas diferentes não agrupam e só agrupa o que for data igual.
Como posso resolver isso? Alguém tem alguma ideia?
-
Por ramonjba
Bom dia! Pessoal, estou muito precisando da ajuda dos Srs. Tenho uma tabela, onde a cada minuto, meu script insere dados referente a consulta SNMP de determinado equipamento. Tenho uma pagina, onde os dados que a consulta coletou diferente do dado atual, é mostrado na tabela. O que acontece é o seguinte, estou utilizando o GROUP BY para selecionar apenas os dados diferentes da coluna 'canalEquipamento', mas, o problema é que, se eu estiver com o Canal registrado na tabela em 5540, realizar a alteração para o 5500, e depois voltar para o 5540, minha consulta não retorna o dado duplicado. Não posso simplesmente mostrar todas as consultas na tabela, pois como eu disse, a inserção de dados na tabela é realizada a cada minuto, dessa forma, iria ter vários dados repetidos e uma consulta enorme. Então, o que eu preciso fazer, é que: a consulta retorne os dados , que o último não seja repetido, por exemplo: Tenho do registro 1 até 50, a coluna Canal está registrada em 5500, no registro 51 até o 500, o canal mudou para 5540, e do 501 até o 700, o canal voltou para o 5500. O que eu precisaria que a consulta retornasse, seria por exemplo:
Consulta 1 - Canal 5500
Consulta 51 - Canal 5540
Consulta 501 - Canal 5500
Segue a imagem do exemplo do problema atual, de como a query está retornando no momento (ela está listando apenas o primeiro registro do canal, se repetir o canal, ele não aparece mais).
QUERY: SELECT ip_equipamento, canalEquipamento, lastSNMP FROM equipamentoSNMP WHERE idEquipamento='317' GROUP BY canalEquipamento ORDER BY idConsulta DESC
-
Por tamabenetti
AJUDAAAA
Pessoal eu preciso da quantidade total de itens diferentes vendidos por cliente para cada vendedor.
Eu tenho o seguinte:
Vendedor | CLIENTE | PRODUTO | data_VENDA
JOAO | MERCADO SORRISO | PRESUNTO | 01/07/2019
JOAO | PADARIA SONHO | PRESUNTO | 03/07/2019
JOAO | SUPERCENTER | PRESUNTO | 05/07/2019
JOAO | SUPERCENTER | PRESUNTO | 10/07/2019
LUIZ | CONFEITARIA A | AÇUCAR | 15/07/2019
PRECISO DESSE RESULTADO:
Vendedor | Total clientes vendidos | total produtos diferentes vendidos POR CLIENTE
JOAO | 3 | 3 *
LUIZ | 1 | 1
*O total é 3 porque eu preciso considerar a venda do produto por cliente, e não somente por vendedor.
Quando eu utilizo o group by ele considera apenas o total de produtos vendidos por VENDEDOR,
e não considera a venda para clientes diferentes.
SELECT distinct vendedor, count(distinct cliente), count(distinct produto)
FROM FATO_VENDAS a
GROUP BY vendedor
Por favor me ajudem!!!
-
Por sadamkim
Pessoal, me deparei com um problema.
Tenho uma Tabela, onde fica armazenada as transações dos clientes.
Cada transação tem vários registros com o campo STATUS.
Preciso fazer um MAX, para pegar a ultima transação por data, e assim saber qual foi o status da mesma.
Mas ao utilizar o MAX e selecionar o campo STATUS ele me traz todos os registro, porque o mesmo não pode agrupar por status, por conter valores diferentes.
É possível criar alguma forma de selecionar no meu caso a ultima transação por data (MAX) e trazer o campo status?
Seja com alguma procedure, ou outra função do ORACLE.
-
Por pamf
Prezados, boa noite!
Me deparei com um problema aqui que acredito que seja bem simples para voces. Estou aqui precisando agrupar dados com a maior data de vendas para um cliente Numa coluna para todas as linhas do cliente (registro a registro das notas). Tambem preciso fazer algumas operacoes de total para disponibilizar um SCRIPT SQL sql para ser consumido por uma ferramenta analitica de BI e foi especificado exatamente como esta na planilha. Para facilitar criei os cenários. Tem os scripts de criacao da tabela e de insert e os resultados esperados nas colunas calculadas pelo sql. Espero que a documentação esteja boa para o caso de uso e que voces possam me ajudar. POde ser didatico para quem da aulas de PL SQL.
Grato
Att
Paulo
PS: como nao aceitou a planilha, escrevo abaixo:
--SCRIPT DE CRIACAO TABELA ORACLE CREATE TABLE T_VENDAS (DATA_VENDA DATE, COD_CLI NUMBER (10), CLIENTE VARCHAR2(10), NUM_NF VARCHAR(10), ITEM VARCHAR2(20), QTDE NUMBER (10,2), VL_TOT_ITEM NUMBER (10,2), VL_UNIT NUMBER (10,2)); --INSERTS INSERT INTO T_VENDAS VALUES('05-Jan-2019',15,'JOAO','20','MESA',1,200,200); INSERT INTO T_VENDAS VALUES('05-Jan-2019',15,'JOAO','20','CADEIRA',4,240,60); INSERT INTO T_VENDAS VALUES('21-Jan-2019',15,'JOAO','66','BANCO',2,240,120); INSERT INTO T_VENDAS VALUES('08-Feb-2019',15,'JOAO','102','GELADEIRA',1,600,600); INSERT INTO T_VENDAS VALUES('07-Mar-2019',15,'JOAO','145','ARMARIO',1,450,450); INSERT INTO T_VENDAS VALUES('05-Jan-2019',20,'MARIA','28','SOFA',1,750,750); INSERT INTO T_VENDAS VALUES('05-Jan-2019',20,'MARIA','28','TAPETE',2,280,140); INSERT INTO T_VENDAS VALUES('21-Jan-2019',20,'MARIA','72','CORTINA',2,160,80); INSERT INTO T_VENDAS VALUES('08-Feb-2019',20,'MARIA','120','CAMA',1,400,400); INSERT INTO T_VENDAS VALUES('17-Feb-2019',20,'MARIA','151','COLCHAO',1,500,500);
CENARIOS (DADOS INSERIDOS NA TABELA T_VENDAS - COLUNAS DO EXCEL ABAIXO: B, C, D, E, F, G, H, I)
COLUNAS CALCULADAS ESPERADAS NO SCRIPT SQL ALEM DAS COLUNAS JA EXISTENTES NA TABELA
RESULTADO ESPERADO DO SCRIPT SQL
-