Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

sql: selecionar filas con valor maximo en una columna

Estas en el tema de sql: selecionar filas con valor maximo en una columna en el foro de SQL Server en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT * FROM ciudad WHERE poblacion = (         SELECT TOP 1 MAX ( poblacion ) ...
  #1 (permalink)  
Antiguo 06/07/2015, 13:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 137
Antigüedad: 13 años, 7 meses
Puntos: 0
sql: selecionar filas con valor maximo en una columna

Código SQL:
Ver original
  1. SELECT *
  2. FROM ciudad
  3. WHERE poblacion=(
  4.         SELECT TOP 1 MAX(poblacion)
  5.         FROM ciudad
  6.     )

mirando ejemplos vi que seria aglo asi, pero esto no me compila, me dice:
There was an error parsing the query. [ Token line number = 4,Token line offset = 9,Token in error = SELECT ]

estoy usando MS SQL SERVER 2008 R2 managemnt studio


se me ocurren maneras alternativas para hacer esto pero me parecen medio rebuscadas al tener que usar el ALL

Código XML:
Ver original
  1. select *
  2. from ciudad
  3. where poblacion = all (select max(poblacion) from ciudad)

que seria lo mismo que hacer:
Código SQL:
Ver original
  1. SELECT *
  2. FROM ciudad
  3. WHERE poblacion >= ALL (SELECT poblacion FROM ciudad)

en definitiva, cual es la manera mas simple y estandar de hacer esto?

Última edición por gnzsoloyo; 06/07/2015 a las 14:04
  #2 (permalink)  
Antiguo 06/07/2015, 14:12
Avatar de fegm_4  
Fecha de Ingreso: febrero-2013
Mensajes: 114
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: sql: selecionar filas con valor maximo en una columna

Si la tabla ciudad tiene los siguientes campos:
id
nombre
poblacion

Basta con hacer
Código SQL:
Ver original
  1. SELECT * FROM ciudad WHERE poblacion *condicion* SELECT *aqui puedes colocar AVG(poblacion) o MAX(poblacion) o MIN(poblacion)* FROM ciudad
__________________
--
Aqui fegm_4
  #3 (permalink)  
Antiguo 08/07/2015, 12:30
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: sql: selecionar filas con valor maximo en una columna

lo mas sencillo es hacer algo como esto:


Código SQL:
Ver original
  1. SELECT * FROM ciudad AS t1
  2. LEFT JOIN (SELECT MAX(poblacion) AS poblacion FROM ciudad) AS t2 ON (t1.poblacion=t2.poblacion)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: columna, filas, maximo, selecionar, select, server, sql, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:43.