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

Ordenar media columna??

Estas en el tema de Ordenar media columna?? en el foro de SQL Server en Foros del Web. Hola muchachos, les escribo para saber si a alguien se le ocurre como ordenar la mitad de una columna de datos numéricos. La idea es ...
  #1 (permalink)  
Antiguo 07/02/2011, 13:31
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Ordenar media columna??

Hola muchachos, les escribo para saber si a alguien se le ocurre como ordenar la mitad de una columna de datos numéricos.

La idea es ordenar un acolumna de numeros de menor a mayor (datos negativos y positivos, y que en la primera celda esté la suma del resto de la columna


Algo así.

(suma total)
-123
-12
-2
0
0
0
10
112
123
145
1231
1561


Alguna idea??
por ahora tengo la columna con el total, pero los datos están desordenados...

Saludos y gracias :D

EDIT: Necesito hacer un order by a una subconsulta. el cómo, no lo sé

Última edición por krayon; 07/02/2011 a las 13:38
  #2 (permalink)  
Antiguo 07/02/2011, 13:59
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Ordenar media columna??

Has probado asi?
Código SQL:
Ver original
  1. SELECT SUM(columna) total FROM tutabla
  2. UNION ALL
  3. SELECT columna FROM tutabla ORDER columna ASC
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 07/02/2011, 14:29
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ordenar media columna??

Hice lo siguiente
Código SQL:
Ver original
  1. SELECT SUM(caja_pesos) AS total
  2. FROM publica.dbo.xxx
  3. UNION ALL
  4. SELECT caja_pesos
  5. FROM  publica.dbo.xxx
  6. ORDER BY caja_pesos ASC


Lanza el error siguiente.
Debe haber elementos ORDER BY en la lista de selección si la instrucción contiene el operador UNION.

Aparentemente no se pueden utilizar order by en sub consultas, y no se si se puedan utilizar en "union"
  #4 (permalink)  
Antiguo 07/02/2011, 17:09
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Ordenar media columna??

Efectivamente esa forma no se puede.
Podrias usar asi, pero no estaria en el orden que necesitas.
Código SQL:
Ver original
  1. SELECT SUM(caja_pesos) AS total
  2. FROM publica.dbo.xxx
  3. UNION ALL
  4. SELECT caja_pesos
  5. FROM  publica.dbo.xxx
  6. ORDER BY 1 ASC
Si tienes SQL 2005 podrias usar la funcion ROW_NUMBER.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 08/02/2011, 07:04
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ordenar media columna??

Leyendo ayer descubrí que se puede utilizar un order by en una subconsulta, siempre y cuando también se utilice un TOP en la declaración del select.
Lamentablemente, eso no se aplica a SQL server 2000.

De todas maneras muchas gracias. Seguiré buscando

:D

Muy agradable este foro.
  #6 (permalink)  
Antiguo 08/02/2011, 07:49
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Ordenar media columna??

Podrias usar el TOP siempre y cuando supieras el numero de registros de la segunda consulta.
Otra forma podria ser usando tablas temporales.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 08/02/2011, 08:22
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ordenar media columna??

Cita:
Iniciado por flaviovich Ver Mensaje
Podrias usar el TOP siempre y cuando supieras el numero de registros de la segunda consulta.
Otra forma podria ser usando tablas temporales.
Los registros son variables, la alternativa es usar las tablas temporales si.

Etiquetas: columna, media
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

SíEste tema le ha gustado a 1 personas




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