UF COM MAIS CLIENTES

VBSHAR 10/11/2011 14:38:56
#388896
Pessoal, estou tentando fazer uma consulta no access para me dar os top 5 UF com mais clientes.
é coisa simples mas está dando erro.

Me deem uma luz:

 SELECT TOP 5 COUNT(uf) AS TOT_UF, uf FROM clientes GROUP BY uf 


este SQL está me retornando os UF em ordem alfabética
KERPLUNK 10/11/2011 16:11:41
#388902
Tenta assim:

select top 5 * from (select uf, (select count(0) from clientes where uf = external.uf) contagem from clientes external)) order by contagem
VBSHAR 10/11/2011 16:32:53
#388906
deu erro:

Erro de sintaxe (operador faltando) na expressão de consulta [ô](select count(0) from clientes where uf = external.uf) contagem[ô].
KERPLUNK 10/11/2011 16:36:48
#388908
select top 5 * from (select uf, (select count(0) from clientes interna where interna.uf = externa.uf) contagem from clientes externa)) order by contagem

Assim deve dar certo
VBSHAR 10/11/2011 16:42:44
#388909
Continua dando errado.
Observer que tem umfechamento de parentesis a mais em:

select top 5 * from (select uf, (select count(0) from clientes interna where interna.uf = externa.uf) contagem from clientes externa)) order by contagem

removendo ele recebo esta mensagem de erro:

Erro de sintaxe (operador faltando) na expressão de consulta [ô](select count(0) from clientes interna where interna.uf=externa.uf) contagem[ô].
FFCOUTO 11/11/2011 14:59:01
#388983
Resposta escolhida
Faltou o ORDER BY pelo campo da contagem. Tenta ai:

SELECT TOP 5 COUNT(uf) AS TOT_UF, uf FROM clientes GROUP BY uf ORDER BY COUNT(uf) DESC;
Tópico encerrado , respostas não são mais permitidas