¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Otimizando consultas com COUNT para tabelas de banco de dados

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...

Olá,

Dada a seguinte estrutura de tabela de banco de dados que inclui dados.

|contract_id|personnel_number|metadata|
        |ABC123     |1122            |  ...   ||ABC124     |1122            |  ...   ||ABC125     |1122            |  ...   ||ABC126     |2233            |  ...   ||ABC127     |2233            |  ...   ||ABC128     |3344            |  ...   |

Usando um SELECT com COUNT, gostaria de obter o seguinte resultado:

|contract_id|personnel_number|metadata|count|
        |ABC123     |1122            |  ...   | 3   ||ABC124     |1122            |  ...   | 3   ||ABC125     |1122            |  ...   | 3   ||ABC126     |2233            |  ...   | 2   ||ABC127     |2233                
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá fedaros ,

Sim, mas então é uma consulta SQL diferente que fornecerá apenas a contagem como resultado.

Em geral, você está certo. Usando COUNT, quero contar o tamanho do grupo de números de pessoal.

Mas.

Quero 1 consulta SQL que retorne 1 tabela interna que forneça a seguinte estrutura:

|contract_id|personnel_number|metadata|count|
|ABC123     |1122            |  ...   | 3   ||ABC124     |1122            |  ...   | 3   ||ABC125     |1122            |  ...   | 3   ||ABC126     |2233            |  ...   | 2   ||ABC127     |2233            |  ...   | 2   ||ABC128     |3344            |  ...   | 1   |

Portanto, para cada linha, quero retornar um campo adicional de contagem que contenha o tamanho do grupo do número de pessoal relacionado.

Saudações
Daniel

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

raymond.giuseppi , infelizmente isso não está funcionando, erro de sintaxe.

Parece que não consigo usar COUNT em uma subconsulta dessa maneira :( ... mas isso faz parte da minha pergunta.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Tente algo como

SELECT
  FROM dtab AS contracts
  FIELDS
    contracts~*,
    ( SELECT COUNT(*) FROM dtab AS anotherid 
	  WHERE contracts~personnel_number = anotherid~personnel_number ) AS count.
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Daniel,

Não consegui entender o problema que você está enfrentando. Em seu exemplo, o SQL está funcionando bem por si só:

SELECT COUNT(*) FROM dtab WHERE contracts~personnel_number = ??

Se deseja para todos os números de pessoal, simplesmente adicione um GROUP BY:

SELECT COUNT(*), personnel_number FROM dtab GROUP BY personnel_number

Por favor, explique mais.

Saudações, Fernando Da Rús

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?