Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Hernani
Rank: Estagiário Pleno
Mensagens: 7 Registrado em: Sex, 01 Fev 2008 10:41 am
Localização: PR
Sex, 01 Fev 2008 10:50 am
Tenho uma table de de estados(UF) e outra de cidades.
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.
Tineks
Rank: DBA Sênior
Mensagens: 365 Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Sex, 01 Fev 2008 11:03 am
E ai Hernani, beleza??
segue ai um exemplo..
Selecionar tudo
SELECT *
FROM (SELECT COUNT (1) qt, a.estado
FROM tab_cidades a
GROUP BY a.estado
ORDER BY 1 DESC)
WHERE ROWNUM <= 1
[]'s!!
Hernani
Rank: Estagiário Pleno
Mensagens: 7 Registrado em: Sex, 01 Fev 2008 10:41 am
Localização: PR
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
Trevisolli
Moderador
Mensagens: 2016 Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
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.
Hernani
Rank: Estagiário Pleno
Mensagens: 7 Registrado em: Sex, 01 Fev 2008 10:41 am
Localização: PR
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....
Trevisolli
Moderador
Mensagens: 2016 Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
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.
Tineks
Rank: DBA Sênior
Mensagens: 365 Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
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..
[]s'!!!
alef
Rank: Analista Pleno
Mensagens: 119 Registrado em: Ter, 06 Nov 2007 2:45 pm
Localização: Patos de Minas - MG
Alexandre Matos
Patos de Minas - MG
Do interior de Minas para o resto do Mundo
Qua, 06 Fev 2008 9:00 am
no mysql usa LIMIT
Selecionar tudo
$sql LIMIT 0,15 -- RETORNA 15 primeiros resultados
$sql LIMIT 16,15 --- RETORNA os proximos 15 resultados a contanto com o 16
.
ALEX
Rank: Estagiário Júnior
Mensagens: 1 Registrado em: Sex, 08 Fev 2008 12:42 pm
Localização: DIADEMA,SP
Sex, 08 Fev 2008 1:15 pm
FAÇA ISSO QUE VAI FUNCIONAR
Selecionar tudo
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
Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes