Jump to content

Search the Community

Showing results for tags 'count'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 26 results

  1. Olá pessoal, Estou trabalhando em um projeto de estudo onde tenho uma tabela onde possui o cadastro de funcionários e a empresa onde trabalha. Preciso criar uma query que retorne o nome da empresa que possui a menor quantidade de funcionários. Tenho em minha mente que parece uma coisa simples, possivelmente utilizando as funções Count e MIN, mas não estou conseguindo chegar a um raciocino pra chegar nessa condição.
  2. brunoogm

    Ocultar resultados da consulta

    Pessoal tenho o seguinte select no mysql SELECT SUM(ValorTotal) as Total_Mes, YEAR(DataPedido) as Ano, CASE extract(MONTH from DataPedido) WHEN 1 THEN 'Janeiro' WHEN 2 THEN 'Fevereiro' WHEN 3 THEN 'Março' WHEN 4 THEN 'Abril' WHEN 5 THEN 'Maio' WHEN 6 THEN 'Junho' WHEN 7 THEN 'Julho' WHEN 8 THEN 'Agosto' WHEN 9 THEN 'Setembro' WHEN 10 THEN 'Outubro' WHEN 11 THEN 'Novembro' WHEN 12 THEN 'Dezembro' END AS mes from comanda Where Year(DataPedido) = year(curdate()) and CodigoSituacao = 2 OR Year(DataPedido) = (year(now())-1) and CodigoSituacao = 2 group by mes, YEAR(DataPedido) limit 0,12 E ele me retorna a seguinte situação : Total_Mes Ano mes 555.00 2018 Agosto 310.00 2019 Agosto 150.00 2019 Fevereiro 777.00 2018 Janeiro 100.00 2019 Janeiro 70.00 2019 Maio E no caso eu gostaria de omitir os registros que NÃO se repetem, ou seja, retirar da consulta os resultados onde o mês só apareça uma vez (maio e fevereiro) Preciso que o resultado seja o seguinte : Total_Mes Ano mes 555.00 2018 Agosto 310.00 2019 Agosto 777.00 2018 Janeiro 100.00 2019 Janeiro Alguém tem uma ideia de como fazer isso ?
  3. ndias

    select count case

    preciso fazer um select assim: Select count(CASE WHEN tbl1.dtCadastro = CURDATE() THEN '' ELSE NULL END) as qtdDia, tbl2.id from tbl1 inner join tbl2 on tbl2.id = tbl1.id and tbl2.id = 123 where tbl1.int = 190273 eu quero que o Count me traga q a quantidade de registros no dia, e por por conta do tbl2.id = 123 ele está trazendo apenas um alguém pode me ajudar, por favor?
  4. select t1.id, (select count(campo) from tabela2 where id = t1.id) from tabela1 t1 where ....... select t1.id, (select count(t2.campo) from tabela2 t2 inner join tabela1 on tabela1.id = t2.id where t2.id = t1.id) from tabela1 t1 where ....... select t1.id, count(t2.campo) from tabela1 t1 left join tabela t2 on t2.id = t1.id where ....... Estou tentando dessas 3 formas e a única que roda é a segunda...mesmo assim, com muita lentidão...  Existe alguma outra melhor forma de montar essa query?
  5. Olá pessoal estou com uma query que estou sofrendo kkk a query esta certinha executo ela no slq e me traz o total bunitinho mais nao consigo de forma nenhuma imprimir o resultado da pesquisa query simples. select count (*) from suporte.dbo.pedidos ....... nada de extraordinário se alguem puder me ajudar em imprimir este total agradeço
  6. jonata paulino

    Contar número de registro em uma coluna

    Estou contando o número de registro em uma coluna na minha tabela, porém todos os números que tem dois caracteres com o número 0 na direita ele não retorna. Exemplo: 70, ele retorna 7 Exemplo: 120, ele retorna 12 Exemplo: 50, ele retorna 5. Como resolver?
  7. Boa Tarde pessoal Preciso de uma ajuda Eu tenho 3 tabelas em que preciso contar o numero de registros de cada uma delas tab1, tab2 e tba3. O que pode ser feito rapidamente com SELECT count(*) tab1 Mas eu preciso armazenar estes registros de cada tabela acima em uma outra tabela (Resultado). que tem os campos: Reg1, Reg2 Reg3. Sendo que nesta tabela Resultado, os números dos registros das tabelas tab1, tab2 e tab3 devem estar respectivamente armazenados nos campos Reg1, Reg2 Reg3 . Muito obrigado desde já
  8. Boa Dia pessoal Preciso de uma ajuda Eu tenho 3 tabelas (tab1, tab2 e tba3) em que preciso contar o numero de registros (reg1, reg2 e reg3) de cada uma delas, e estes registros devem ser armazenados em uma outra tabela (TabInfo) A contagem pode ser feito com o SELECT COUNT(*), mas o meu problema é adicionar estes registros na nova tabela (TabInfo). TabInfo ___________________________ campo1 campo2 campo3 ___________________________ reg1 reg2 reg3 Muito obrigado pessoal
  9. Elizandro Oliveira

    Consulta com COUNT e IF

    Boa Tarde, Tenho as seguintes queries: //Pega o total de produtos da familia. Ex 25 $query ="SELECT *, COUNT(familia) as total from cadastro group by familia"; $executa=mysql_query($query); $a=mysql_fetch_array($executa); //Pega o total de produtos já fabricados com base na data de retorno; $queryb ="SELECT COUNT(familia) as pronto from cadastro where dataretorno<>'0000-00-00 00:00:00' group by familia"; $executab=mysql_query($queryb); $b=mysql_fetch_array($executab); //Pega o total de produtos em produção com base na data de retorno. $queryc ="SELECT COUNT(familia) as producao from cadastro where dataretorno='0000-00-00 00:00:00' group by familia"; $executac=mysql_query($queryc); $c=mysql_fetch_array($executac); Problema está que ele retorna, apenas de uma família, pois não está em um while nem nada. Tentei usar um IF na consulta mas não obtive sucesso. Exemplo de dados gravados: familia dataretorno C2-2018 0000-00-00 00:00:00 C2-2018 2018-02-02 00:00:00 C3-2018 2018-02-03 00:00:00 C4-2018 2018-02-05 00:00:00 C5-2018 2018-02-07 00:00:00 C5-2018 2018-02-07 00:00:00 C5-2018 0000-00-00 00:00:00 Saida MYSQL agrupando por família familia dataretorno pronto producao total C2-2018 0000-00-00 00:00:00 1 1 2 C3-2018 2018-02-03 00:00:00 1 0 1 C4-2018 2018-02-05 00:00:00 1 0 1 C5-2018 2018-02-07 00:00:00 2 1 3 Como poderia fazer isso usando apenas uma querie, tentei com sub selects tbm naum consegui Muito obrigado pela atenção e colaboração.
  10. Olá pessoal, tudo bom? Tenho uma tabela de região e outra de times... Preciso fazer uma consulta pra exibir quantos times eu tenho por região, minhas tabelas estão assim: tabela regioes id regiao cidade 1 Amarela São Paulo 2 Amarela Guarulhos 3 Amarela Osasco 4 Amarela Santos 5 Verde São Paulo 6 Verde Santos 7 Azul Santos 8 Azul Jundiai 9 Azul Guarulhos Tabela times id id_regiao time 1 3 America 2 5 Bufalos 3 2 Futebol 7 4 8 Bar sem lona 5 7 Inter de Limão 6 1 Atletico Maneiro 7 3 Baile de Monique 8 2 Barra Leverkusen 9 2 Piritubense A minha consulta até retorna as regiões, mas aparece o numero de times como zero, minha consulta está assim: SELECT DISTINCT regiao, (SELECT COUNT(id) FROM times WHERE times.id_regiao = regioes.id) AS Total FROM regioes GROUP BY regiao Será que podem me ajudar?
  11. zetaec

    [Resolvido] Como usar o COUNT

    Tenho uma tabela pessoas. Sei que SELECT COUNT(*) FROM pessoas; retorna o total de elementos na tabela pessoas. Dentro da tabela pessoas tenho a coluna sexo onde pode ser M ou F (enum), como faço para contar quantas pessoas são do sexo M? Um count que me retorna o número total de pessoas do sexo M. Grato desde já!
  12. Tenho uma tabela que gravo o idioma e a fluência do candidato. Por ex: Candidato Idioma Fluência 1 Inglês 1 2 Espanhol 3 3 Francês 2 Quero saber quantos candidatos tem inglês, espanhol e francês básico, avançado e intermediário. Para isso, eu faço o seguinte: select Idioma, COUNT(distinct(Candidato)) as Total, count(CASE WHEN Fluência = 1 THEN 'Básico' ELSE NULL END) as Básico, count(CASE WHEN Fluência = 2 THEN 'Intermediário' ELSE NULL END) as Intermediário, count(CASE WHEN Fluência = 3 THEN 'Avançado' ELSE NULL END) as Avançado from tabela group by Idioma O resultado é: Idioma Total Básico Intermediário Avançado Inglês 2 2 0 0 Espanhol 3 1 1 1 Francês 1 0 1 0 Porém, se tiver um registro duplicado, ou seja, de dois candidatos, se um aparecer 3 vezes e outro 2 vezes na tabela com o Inglês básico, o resultado vai ser assim: Idioma Total Básico Intermediário Avançado Inglês 2 5 0 0 Espanhol 3 1 1 1 Francês 1 0 1 0 Como eu faço nesse caso para contar somente os registros únicos?
  13. Luccas Gaulia

    SQL SUM e COUNT no mesmo $sql

    Ola pessoal, O meu sql está funcionando para COUNT, e o SUM funcionou mas agora NÃO está funcionando, o pior é que quando executo no SQL ele roda certinho... Agora têm outra questão, preciso pegar outros valores da mesma tabela para mencionar no php, e não sei como colocar neste sql que já SUM e COUNT $stmt = $this->conn->prepare("SELECT SUM(transaction_amount) AS sum_transaction_amount, (SELECT COUNT(transaction_amount) FROM tbl_credit_card_transactions WHERE transaction_status = 'completed' AND transaction_datetime BETWEEN '$start' AND '$end') AS count_transaction_amount FROM tbl_credit_card_transactions WHERE transaction_status = 'completed' AND transaction_datetime BETWEEN '$start' AND '$end'"); $datasource = new datasource(); $pay_day = $datasource->getPayAllDoctors('day'); echo $pay_day['count_transaction_amount']; echo $pay_day['sum_transaction_amount']; //* Esse não aparece nada *// Outra coisa é que preciso puxar outros valores.... como mencionei acima, olha como está $type = $_POST['type']; $datasource = new datasource(); $rows = $datasource->getPayAllDoctors($type); foreach ($rows as $result) { echo $result['doctor_first_name']; //* Preciso que saia o nome aqui, mas não sai naquele $SQL mencionado acima *// }
  14. Olá, alguém pode me ajudar nessa consulta? SELECT TRUNC(a.dt_atualizacao) dt, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_consulta f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.ie_classif_agenda ='P' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_cons, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_consulta f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.ie_classif_agenda ='Pr' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_proc, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_paciente f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.IE_STATUS_AGENDA ='E' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_exa FROM adiantamento a, caixa_receb cr WHERE a.nr_seq_caixa_rec = cr.nr_sequencia AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final GROUP BY TRUNC(a.dt_atualizacao) ORDER BY 1; Ela ta me trazendo as datas direitinho, mas não está somando por elas, mas sim, tudo e colocando na tabela. Seguem os resultados 01/01/2017 68 15 10 02/01/2017 68 15 10 03/01/2017 68 15 10 04/01/2017 68 15 10 ... Alguém tem alguma noção do que tá errado ou como resolver? Obrigado desde já!!!
  15. Preciso unir dois selects para isso eu to fazendo o seguinte: select X.ID, X.Razao, X.CNPJ from tabela 1 right join tabela X on X.ID = 1.ID union select X.ID, X.Razao, X.CNPJ from tabela 2 right join tabela X on X.ID = 2.ID Até aí blz..me traz o registro certinho: 1 X 11.111.111/1111-11 2 XY 22.222.222/2222-22 3 XYZ 33.333.333/3333-33 Só que eu preciso de mais um dado select X.ID, X.Razao, X.CNPJ, COUNT(X.ID) as QtdeTabela1, '' as QtdeTabela2 from tabela 1 right join tabela X on X.ID = 1.ID group by X.ID, X.Razao, X.CNPJ union select X.ID, X.Razao, X.CNPJ, '' as QtdeTabela1, COUNT(X.ID) as QtdeTabela2 from tabela 2 right join tabela X on X.ID = 2.ID group by X.ID, X.Razao, X.CNPJ Daí, traz assim: 1 X 11.111.111/1111-11 3 0 2 XY 22.222.222/2222-22 2 0 3 XYZ 33.333.333/3333-33 1 0 3 XYZ 33.333.333/3333-33 0 1 Eu preciso que gere assim o resultado: 1 X 11.111.111/1111-11 3 0 2 XY 22.222.222/2222-22 2 0 3 XYZ 33.333.333/3333-33 1 1 Alguém pode me ajudar, por gentileza?
  16. Mara Rodrigues

    Dúvida select count

    Alguém pode me ajudar a resolver? Dada a tabela: ELEICOES NomeCandidato Cargo VotosValidos Sexo CodigoPartidoAté 100 caracteres Prefeito Número Inteiro Positivo Feminino 1 a 10 Vereador Masculinosolicita-se que sejam apresentadas soluções para o que se pede abaixo:Escrever um comando SQL para mostrar, em uma linha, a quantidade de candidatos do sexo masculino como "CandidatosHomens" e a quantidade de candidatas do sexo feminino como "CandidatasMulheres".
  17. Patrick Ramiro

    Asp Limitar Registros no Banco

    Olá boa tarde pessoal , alguém pode me ajudar com algum código asp para limitar registros no banco ? Preciso definir um numero total de emails ativos no banco, se o numero de registros encontrados ultrapassar o total definido por mim , aparece a mensagem falando que a pessoa ultrapassou o limite. <% total_emails_permitidos_ativos=100 abreconexao sql1="select *from emails where ativos='sim' " set links=conexao.execute(sql1) do while not links.eof ' não sei como condicionar if else e o count no registros que estiverem ativos sim, e aparecer a mensagem , se ultrapassar o 100 alguém pode me ajudar . %>
  18. Viniiciiu Spinellis

    Count + INNER JOIN

    Pessoal boa tarde, tenho um select que lista os registros com maiores quantidades em ordem de maior para menor, só que agora em vez de colocar o nome vou colocar o ID em tecnico_responsavel, a partir dai vou ter que ir buscar o nome em outra tabela, provavelmente com inner join, não estou conseguindo inserir o inner join no select. <?php $pegavendedores = "SELECT tecnico_responsavel, COUNT(tecnico_responsavel) as repetidos FROM servicos_rota WHERE tipo_servico !='RET' AND data_agendada='$pegadata' AND status_servico IS NULL GROUP BY (tecnico_responsavel) ORDER BY repetidos DESC"; $query = $mysqli->query($pegavendedores); while($colunas = $query->fetch_assoc()){ ?> <?php if($colunas['repetidos'] == 0){}else{ ?> <span>(AQUI AO INVEZ DO NOME DO TECNICO RESPONSAVEL VOU TER QUE EXIBIR O NOMEABREV DA TABELA FUNCIONARIOS)<?php echo $colunas['tecnico_responsavel'];?> - <?php echo number_format($colunas['repetidos'],0); ?></span><br> <?php }; ?> Em tecnico_responsavel seria o ID e eu teria que ir na tabela funcionarios buscar na tabela o codigo_id igual ao do tecnico_responsavel e exibir o nome da tabela NomeAbrev.
  19. Boa noite. Qual a melhor forma de contar dados na tabela? SELECT COUNT(*) usando o fetch $query = $mysqli->prepare("SELECT COUNT(*) FROM votos WHERE valor = ?"); $query->bind_param("s", $paramm); $query->execute(); $query->bind_result($valor); $query->store_result(); while( $query->fetch()){ echo $valor; } SELECT * FROM usando o num_rows $query = $mysqli->prepare("SELECT * FROM votos"); $query->execute(); $query->store_result(); $rows = $query->num_rows; echo $rows; Existe muita diferença entre os dois? Estou fazendo certo?
  20. Wesley Inacio

    Youtube Real Subscribers Count

    Olá pessoal do fórum, alguém pode me dizer, como começar a fazer um site igual a este exemplo? http://www.livecounts.x10host.com/?channel=CanalCanalha Ele pega os inscritos de um certo canal, e você vê aumentando ou diminuindo o número em tempo real. Algum exemplo, uma base para começar? sou iniciante em PHP.
  21. Olá pessoal. Tenho o seguinte código onde tenho duas queries, na primeira capturo o COUNT do campo nome_usuario, na segunda seleciono os campos que desejo. Gostaria de melhorar a performance, fazendo uma só query. Alguém pode me ajudar? <?php defined('BASEPATH') OR exit('No direct script access allowed'); class TodosAgendamentosFuturos_model extends CI_Model{ public function main($funcionario, $dataAtual, $limit, $start) { //Array para guardar dados a serem retornados $resultados = array(); //QUERY TO BIND TOTALCOUNT $sql = "SELECT DISTINCT COUNT(u.nome_usuario) AS total FROM horariosfuncionario hfs INNER JOIN usuario u INNER JOIN statushorariofuncionario shf INNER JOIN funcionario f INNER JOIN agendamento a INNER JOIN formapagamentosalao fps ON a.codigo_formapagamentosalao = fps.codigo_formapagamentosalao AND a.codigo_usuario = u.codigo_usuario AND a.codigo_horariosfuncionario = hfs.codigo_horariosfuncionario AND shf.codigo_statushorariofuncionario = hfs.codigo_statushorariofuncionario AND f.codigo_funcionario = hfs.codigo_funcionario WHERE STR_TO_DATE(hfs.data_horariosfuncionario, '%d/%m/%Y') > STR_TO_DATE(?, '%d/%m/%Y') AND f.codigo_funcionario = ? ORDER BY STR_TO_DATE(hfs.data_horariosfuncionario, '%d/%m/%Y'), STR_TO_DATE(hfs.horario_horariosfuncionario,'%H:%i')"; $total = $this->db->query($sql, array($dataAtual, $funcionario)); //Selecionando todos agendamentos futuros $sql = "SELECT DISTINCT u.nome_usuario, u.telefone1_usuario, u.telefone2_usuario, a.codigo_agendamento, hfs.horario_horariosfuncionario, hfs.data_horariosfuncionario, a.comentario_agendamento, fps.nome_formapagamentosalao FROM horariosfuncionario hfs INNER JOIN usuario u INNER JOIN statushorariofuncionario shf INNER JOIN funcionario f INNER JOIN agendamento a INNER JOIN formapagamentosalao fps ON a.codigo_formapagamentosalao = fps.codigo_formapagamentosalao AND a.codigo_usuario = u.codigo_usuario AND a.codigo_horariosfuncionario = hfs.codigo_horariosfuncionario AND shf.codigo_statushorariofuncionario = hfs.codigo_statushorariofuncionario AND f.codigo_funcionario = hfs.codigo_funcionario WHERE STR_TO_DATE(hfs.data_horariosfuncionario, '%d/%m/%Y') > STR_TO_DATE(?, '%d/%m/%Y') AND f.codigo_funcionario = ? ORDER BY STR_TO_DATE(hfs.data_horariosfuncionario, '%d/%m/%Y'), STR_TO_DATE(hfs.horario_horariosfuncionario,'%H:%i') LIMIT ".$limit." OFFSET ".$start; $resultado = $this->db->query($sql, array($dataAtual, $funcionario)); //Percorrendo resultados retornados foreach ($resultado->result() as $row) { //Captura dia da semana da data enviada como parâmetro usando o helper dia_semana $dia = diasemana($dataAtual); //Adiciona resultados no array resultados array_push($resultados, array('nome_usuario' => $row->nome_usuario, 'telefone1_usuario' => $row->telefone1_usuario, 'telefone2_usuario' => $row->telefone2_usuario, 'codigo_agendamento' => $row->codigo_agendamento, 'horario' => $row->horario_horariosfuncionario, 'data' => $row->data_horariosfuncionario, 'nomeDiaSemana' => $dia, 'comentario' => $row->comentario_agendamento, 'formaPagamento' => $row->nome_formapagamentosalao)); } $rows = $resultados; $data = array( "success"=>true, "totalCount"=>$total->row()->total, "menu"=>$rows ); echo json_encode($data); } }
  22. pablo joaquim

    Tratamento de COUNT

    Bom dia a todos, estou com um pequeno problema que não estou encontrando uma soluçao. O problema é o seguinte: Minha sql retorna alguns campos nos quais 2 deles são count, o problema é que como os campos tem uma relação um com o outros ele ta dobrando o valor do count. Segue sql: SELECT F.MATRICULA, VFI.QTD_AUTORIZACAO, AG.AGENTECONS_ID, V.VERBA_ID, F.FUNCIONARIO_ID, COUNT(MC.MATRICULA) AS QTD_LANCAMENTOS, COUNT(DISTINCT RV.RESERVA_MARGEM_ID) AS QTD_RESERVAS FROM MOVIMENTO_CARTAO_TEMP MC JOIN FUNCIONARIO F ON F.MATRICULA = MC.MATRICULA JOIN AGENTECONS AG ON AG.REFERENCIA = MC.REFERENCIA_AGENTE JOIN VW_FOLHA_ITENS VFI ON VFI.FUNCIONARIO_ID = F.FUNCIONARIO_ID AND VFI.TIPO_VERBA = 'CARTAO' AND VFI.AGENTECONS_ID = AG.AGENTECONS_ID JOIN VERBA V ON V.AGENTECONS_ID = AG.AGENTECONS_ID AND V.TIPO_VERBA = 'CARTAO' JOIN RESERVAMARGEM RV ON RV.FUNCIONARIO_ID = F.FUNCIONARIO_ID AND RV.AGENTECONS_ID = AG.AGENTECONS_ID AND RV.SITUACAO = 0 WHERE MC.HST_CARGA_DADOS_ID = 206 AND VFI.FOLHA_ID = 176 GROUP BY F.MATRICULA, VFI.QTD_AUTORIZACAO, AG.AGENTECONS_ID, F.FUNCIONARIO_ID, V.VERBA_ID HAVING COUNT(MC.MATRICULA) >= COUNT(distinct RV.RESERVA_MARGEM_ID); Resultado desta consulta: MATRICULA|| QTD_AUTORIZACAO ||QTD_CANCAMENTOS||QTD_RESERVAS 1733940/1-00 2 4 2 1268678/1-00 4 2 2 290912/1-00 2 1 1 520004/1-01 1 1 1 Conforme mostrado na tabela o problema consiste no seguinte: os valores do campo qtd_lancamentos estão duplicados, pois para cada valor no cammpo qtd_reserva ele esta dobrando o valor do campo qtd_lancamentos. ex: tenho um unico lançamento, porem tenho duas reservas, neste caso o resultado da consulta vai me retornar dois lançamentos e duas reservas. isso ocorre pelo fato de ter duas reservas na mesma matricula e tenho um unico lançamento, porem com o join ele duplica o lançamento para cada reserva. O que posso fazer para evitar isso? O resultado esperado é: Qtd_lancamentos 2 1 1 1 na mesma ordem da tabela anterior.
  23. Boa Tarde Galera! Sou novo aqui e estou com o seguinte problema: Tenho 3 tabelas, são elas: eleicao, intencao e candidato e elas estão interligadas através da chave de nome id_eleicao. Ao dar um select preciso que o banco me retorne o seguinte: Candidato A tem 10 votos no bairro vale Candidato A tem 5 votos no bairro mata Candidato B tem 10 votos no bairro centro Candidato B tem 15 votos no bairro vale Tentei usar sub consulta mas não consegui, tentei usar join mas tenho pouco conhecimento e não deu certo. Abaixo vou mostrar mais ou menos a estrutura das minhas tabelas: tabela eleicao: id_eleicao_pkey || nome_eleicao || ano_eleicao tabela candidato id_candidato_pkey || id_eleicao* || nome_candidato tabela intencao id_eleicao* || nome_eleitor || bairro || cidade || id_candidato* *Chaves estrangeiras Alguém poderia me ajudar?
  24. mnmn

    Uso de Group Function

    Olá pessoal, poderiam me ajudar com esse erro? Tenho o seguinte SELECT no qual preciso selecionar somente os horario_horariofuncionario que estejam em um determinado período de tempo (para isso uso a função BETWEEN) e com o codigo_statushorariofuncionario 1 ou 3, (para isso uso a função IN). O sub select não pode retornar nenhum resultado, por isso ao final do sub select adicionei = 0. SELECT hf.horario_horariofuncionario FROM horariofuncionario hf WHERE hf.codigo_statushorariofuncionario IN (1,3) AND (SELECT COUNT(hf.codigo_statushorariofuncionario) FROM horariofuncionario hf NATURAL JOIN servicosalao ss WHERE STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i') BETWEEN (STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i') AND SEC_TO_TIME( SUM( TIME_TO_SEC( STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i') ) + TIME_TO_SEC( STR_TO_DATE(ss.tempo_servicosalao,'%i') ) ) ) ) AND hf.codigo_statushorariofuncionario = 2) = 0; Contudo essa query está retornando o erro: Invalid use of group function ErrorNr: 1111 Agradeço desde já a ajuda de todos.
  25. Olá pessoal, poderiam me ajudar? Tenho as seguintes tabelas: CREATE TABLE horariofuncionario ( codigo_horariofuncionario INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, codigo_statushorariofuncionario INTEGER UNSIGNED NOT NULL, codigo_funcionario INTEGER UNSIGNED NOT NULL, horario_horariofuncionario VARCHAR(5) NOT NULL, data_horariofuncionario VARCHAR(10) NOT NULL, nomeDiaSemana_horariofuncionario VARCHAR(15) NOT NULL, PRIMARY KEY(codigo_horariofuncionario), FOREIGN KEY(codigo_funcionario) REFERENCES funcionario(codigo_funcionario) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(codigo_statushorariofuncionario) REFERENCES statushorariofuncionario(codigo_statushorariofuncionario) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE statushorariofuncionario ( codigo_statushorariofuncionario INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, nome_statushorariofuncionario VARCHAR(30) NOT NULL, PRIMARY KEY(codigo_statushorariofuncionario) ); CREATE TABLE servicosalao ( codigo_servicosalao INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, codigo_salao INT NOT NULL, codigo_servico INTEGER UNSIGNED NOT NULL, preco_servicosalao VARCHAR(20) NULL, tempo_servicosalao INTEGER UNSIGNED NULL, descricao_servicosalao VARCHAR(200) NULL, PRIMARY KEY(codigo_servicosalao), FOREIGN KEY(codigo_salao) REFERENCES salao(codigo_salao) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(codigo_servico) REFERENCES servico(codigo_servico) ON DELETE NO ACTION ON UPDATE NO ACTION ); Preciso selecionar os HORARIOFUNCIONARIO.horario_horariofuncionario em que o HORARIOFUNCIONARIO.codigo_statushorariofuncionario seja 1 ou 3 e que não contenha nenhum registro na tabela horariofuncionario em que o HORARIOFUNCIONARIO.horario_horariofuncionario esteja entre o HORARIOFUNCIONARIO.horario_horariofuncionario e o HORARIOFUNCIONARIO.horario_horariofuncionario + SERVICOSALAO.tempo_servicosalao e o HORARIOFUNCIONARIO.codigo_statushorariofuncionario seja igual a 2. Então tenho a query: SELECT hf.horario_horariofuncionario FROM horariofuncionario hf WHERE hf.codigo_statushorariofuncionario IN (1,3) HAVING (SELECT COUNT(hf.codigo_horariofuncionario) FROM horariofuncionario hf NATURAL JOIN servicosalao ss WHERE hf.codigo_statushorariofuncionario = 2 AND STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i') BETWEEN STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i') AND SEC_TO_TIME( SUM( TIME_TO_SEC( STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i') ) + TIME_TO_SEC( STR_TO_DATE(ss.tempo_servicosalao,'%H:%i') ) ) ) ) < 1; Está retornando o erro: Invalid use of group function ErrorNr 1111
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.