SELECT COUNT(*)
FROM
(
SELECT DISTINCT ON(campo1, campo2, campo3) campo1, campo2, campo3, campo4
FROM tabela
ORDER BY campo1, campo2, campo3, campo4
) AS x


Em 5 de fevereiro de 2013 16:59, Pedro B. Alves
<[email protected]>escreveu:

> Tem como usar isso com o COUNT()?
>
>
> Em 4 de fevereiro de 2013 14:17, Matheus de Oliveira <
> [email protected]> escreveu:
>
>>
>>
>> 2013/2/4 Pedro B. Alves <[email protected]>
>>
>> Pessoal, não sei se tem alguna função para solucuinar este problema.
>>>
>>>
>>> SELECT campo1, campo2, campo3, campo4 FROM tabela
>>>
>>> gostaria de usar um distinct só dos 3 primeiros campos.
>>>
>>>
>>> SELECT DISTINCT(campo1, campo2, campo3), campo4 FROM tabela
>>>
>>>
>>>
>> Quase como você escreveu:
>>
>> SELECT DISTINCT ON(campo1, campo2, campo3) campo1, campo2, campo3, campo4
>> FROM tabela;
>>
>> Veja que isso implica num resultado não determinístico, ao menos para o
>> campo4. Em geral, adiciona-se o mesmo no final do ORDER BY para "escolher"
>> qual registro mostrar, nesse caso você "deve" informar os campos usados no
>> DISTINCT ON no *início* do ORDER BY:
>>
>> SELECT DISTINCT ON(campo1, campo2, campo3) campo1, campo2, campo3, campo4
>> FROM tabela
>> ORDER BY campo1, campo2, campo3, campo4 ...;
>>
>> Atenciosamente,
>> --
>> Matheus de Oliveira
>> Analista de Banco de Dados
>> Dextra Sistemas - MPS.Br nível F!
>> www.dextra.com.br/postgres
>>
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a