Fórum AGRUPAR E TRAZER NÚMERO LIMITADOS POR GRUPOS #587351
31/10/2017
0
Tenho a seguinte questão:
Em uma tabela com os campos: nome, telefone, bairro.
preciso que a query me retorne 5 pessoas de cada bairro.
Obrigado pela ajuda.
José Menezes
Curtir tópico
+ 0Posts
31/10/2017
Allan Monteiro
SELECT
A.NOME,
A.TELEFONE,
A.BAIRRO,
COUNT(A.BAIRRO)
FROM TABELA A
GROUP BY A.NOME,
A.TELEFONE,
A.BAIRRO
HAVING COUNT(A.BAIRRO) = 5;
Gostei + 0
31/10/2017
José Menezes
Gostei + 0
05/11/2017
Paulo Santos
Mas segue um exemplo.
Pelo que entendi, vc precisa de no máximo 5 pessoas de cada bairro que estão cadastras na mesma tabela, correto?
Se for esse o caso esse exemplo vai te retornar o que precisa, mas se for de tabelas distintas basta alterar a consulta dentro do outer apply que vai funcionar.
SELECT distinct
TBL01.Bairro AS Bairro
,'---' AS [ ]
,TBL02.*
FROM Tabela01 AS TBL01
OUTER APPLY
(
SELECT TOP 05
*
FROM Tabela01 AS TBL_SUB
WHERE TBL01.Bairro = TBL_SUB.Bairro
) AS TBL02
Espero ter ajudado
=)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)