SQL para trazer o estado que possui mais cidades

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Sex, 01 Fev 2008 10:50 am

Tenho uma table de de estados(UF) e outra de cidades.

Código: Selecionar todos
SELECT COUNT(*)
FROM TBLCIDADES
WHERE UF = 'PR'


com esse select eu consigo saber quantas cidades tem no PR.

Agora gostaria de saber um select para trazer o estado que possua a maior quantidade cidades.
Hernani
Localização: PR

Mensagemem Sex, 01 Fev 2008 11:03 am

E ai Hernani, beleza??

segue ai um exemplo..

Código: Selecionar todos
SELECT *
  FROM (SELECT   COUNT (1) qt, a.estado
            FROM tab_cidades a
        GROUP BY a.estado
        ORDER BY 1 DESC)
WHERE ROWNUM <= 1


[]'s!!
Tineks
Localização: Araraquara - SP

Cristiano (Tineks)
Araraquara - SP

Mensagemem Sex, 01 Fev 2008 11:24 am

E aí Tineks, beleza.

só não entendi a ultima linha do seu código "WHERE ROWNUM <= 1
" esse ROWNUM
Hernani
Localização: PR

Mensagemem Sex, 01 Fev 2008 12:02 pm

Brother,

Esse ROWNUM, só te traz 1 linha.
Como está ordenado DESC, ele automaticamente te traz o maior valor.
Faça um teste, retire esta linha e veja o que ocorre.

qualquer coisa, manda ai.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Sex, 01 Fev 2008 12:07 pm

deve ser particularidade do oracle, desculpa ai se for. é que eu to usando o mysql entrei nesse forum porque aqui as cosias são mais rápidas. muito obrigado. bons feriados pra garela....
Hernani
Localização: PR

Mensagemem Sex, 01 Fev 2008 12:12 pm

Isso mesmo brother.
Mais especificamente uma PSEUDOCOLUNA.
Assim como ROWID, DUAL... por ai vai.. rs...
qualquer coisa, manda ai.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Sex, 01 Fev 2008 12:41 pm

Talves no mySQL exista alguma coisa parecida com o o Sql Server.. no sql server o comando equivalente ao rownum é o TOP, no caso TOP 1 traz somente a primeira linha, top 2 as 2 primeiras e assim vai.. :D

[]s'!!!
Tineks
Localização: Araraquara - SP

Cristiano (Tineks)
Araraquara - SP

Mensagemem Qua, 06 Fev 2008 9:00 am

no mysql usa LIMIT

Código: Selecionar todos
$sql LIMIT 0,15 -- RETORNA 15 primeiros resultados
$sql LIMIT 16,15 --- RETORNA os proximos 15 resultados a contanto com o 16



:-o


.
alef
Localização: Patos de Minas - MG

Alexandre Matos
Patos de Minas - MG
Do interior de Minas para o resto do Mundo

Mensagemem Sex, 08 Fev 2008 1:15 pm

FAÇA ISSO QUE VAI FUNCIONAR

SELECT SA.A1_EST,

(SELECT COUNT(A1.A1_MUN) FROM SA1010 A1
WHERE A1.D_E_L_E_T_ <> '*'
AND A1.A1_EST = SA.A1_EST
GROUP BY A1.A1_MUN)


FROM SA1010 SA
WHERE SA.D_E_L_E_T_ <> '*'
GROUP BY SA.A1_EST
ALEX
Localização: DIADEMA,SP



Voltar para SQL

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

cron