Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bcs_ptx

Verificar qual registro mais utilizado

Recommended Posts

Eai pessoal, eis minha dúvida

 

SELECT
    data,
    cliente,
    count(modelo_gerador) as conta,
    min(data) as data_min,
    max(data) as data_max,
    sum(valor_gerador) as valor
FROM
    procedimentos
WHERE
    cliente <> 0
AND
    (
        data between '2012-12-01' AND '2014-01-01'
    )
GROUP BY
    cliente

até aqui tudo certo, mas agora eu quero uma coluna que diga qual foi o modelo_gerador mais utilizado, exemplo:

 

'2013-06-13', 'hospital', '8', '2013-06-13', '2013-11-29', '15675.75'
o resultado é o acima, no total de geradores utilizados nesse hospital foram 8, mas quero saber desses 8 qual foi o mais utilizado, como posso fazer? abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

order by? não, ai só ordenaria a lista inteira, tipo:

 

1º registro - quantidade 8

2º registro - quantidade 13

3º registro - quantidade 5

 

ai no 1º registro quero saber dentre esses 8, qual foi o mais utiizado, assim

 

1º registro total de 8

 

tipo1 total de 1

tipo2 total de 5

tipo3 total de 2

 

então no registro 1, quem mais foi usado foi o tipo 2, entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vai precisar fazer outra query "abrindo" procedimentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem muito mais campos, mas vou colocar só os que preciso

 

CREATE TABLE `procedimentos` (
  `id` int(10) NOT NULL AUTO_INCREMENT,  
  `data` date NOT NULL DEFAULT '0000-00-00',  
  `cliente` int(10) DEFAULT NULL,  
  `modelo_gerador` int(10) DEFAULT NULL,  
  `valor_gerador` decimal(8,2) DEFAULT NULL
)

cliente vem de tabela clientes e modelo_gerador vem de tabela modelo_gerador

 

então na consulta, quero que liste quantos geradores usei em um determinado hospital e qual que usei mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta isto

SELECT
    cliente,
    modelo_gerador,
    count(modelo_gerador) as conta,
    min(data) as data_min,
    max(data) as data_max,
    sum(valor_gerador) as valor
FROM
    procedimentos
WHERE
    cliente = 12345 -- fazer para cada cliente
AND
    (
        data between '2012-12-01' AND '2014-01-01'
    )
GROUP BY
    cliente,
    modelo_gerador

 

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.