Muchas veces queremos que los datos se muestren ordenados según algún orden en particular, que puede ser el Código, el Nombre, la Fecha, el Importe, etc.
Para conseguirlo hacemos uso de la cláusula ORDER BY
SELECT PRD_CODIGO, PRD_NOMBRE, PRD_PROCED, PRD_PREVTA FROM PRODUCTOS ORDER BY PRD_NOMBRE
Este SELECT nos mostrará a los productos ordenados alfabéticamente por sus nombres.
En lugar de decirle que ordene por una columna podemos decirle que ordene por la posición que esa columna tiene en el SELECT como vemos a continuación:
SELECT PRD_CODIGO, PRD_NOMBRE, PRD_PROCED, PRD_PREVTA FROM PRODUCTOS ORDER BY 2
El resultado de este SELECT será exactamente igual al primero pero ahora usamos el número 2 en lugar de la columna PRD_NOMBRE. ¿Y por qué usamos el número 2? porque esa es la posición de la columna PRD_NOMBRE en el SELECT.
En la cláusula ORDER BY podemos tener varias columnas, no necesariamente una columna:
SELECT PRD_CODIGO, PRD_NOMBRE, PRD_PROCED, PRD_PREVTA FROM PRODUCTOS ORDER BY PRD_PROCED, PRD_NOMBRE
Aquí el SELECT nos mostrará a los productos ordenados por PRD_PROCED (o sea, el país de procedencia) y luego por el nombre del producto.
Igual que antes, si lo deseamos podemos usar las posiciones de las columnas en lugar de usar el nombre de las columnas, como:
ORDER BY 3, 2
IMPORTANTE:
Se puede ordenar por cualquier columna, sea ésta de tipo carácter, de tipo numérico, de tipo fecha, etc. La única excepción son las columnas de tipo BLOB, no se puede ordenar por ellas.
.
El índice del blog Firebird21 | Firebird SQL
Jun 16, 2013 @ 20:43:36