es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

cómo generar una serie de números agrupando los datos en db2 o sql

Tengo los datos como se muestra a continuación:

Manager Ciudad Edificio Piso Numero de Asientos
xxx BLR SA2 2F 2
xyz BLR SA2 2F 3
xya BLR SA2 3F 2
xjk BLR SA2 3F 1

Los datos resultantes deben ser como sigue, agrupados por gerente o edificio y piso, se necesita generar una serie de números basados en el número de asientos.

Manager Ciudad Edificio Piso Numero de Asientos
xxx BLR SA2 2F 1
xxx BLR SA2 2F 2
xyz BLR SA2 2F 3
xyz BLR SA2 2F 4
xyz BLR SA2 2F 5
xya BLR SA2 3F 1
xya BLR SA2 3F 2
xjk BLR SA2 3F 3
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para generar la serie requerida de números en función del número de asientos, podemos utilizar la función SQL “GENERATE_SERIES”, junto con “UNNEST” para dividir los valores separados por comas en la columna “Número de Asientos”. La consulta sería la siguiente:

    SELECT 
        Manager, 
        City, 
        Building, 
        Floor, 
        GENERATE_SERIES(1, UNNEST(string_to_array("Número de Asientos", ','))::int) as "Número de Asientos"
    FROM 
        <nombre_de_la_tabla>
    ORDER BY 
        Manager, Building, Floor, "Número de Asientos"
    

    La función “GENERATE_SERIES” genera una serie de números desde el valor inicial (1, en este caso) hasta el valor final, que es el número de asientos para cada fila. La función “UNNEST” convierte los valores separados por comas en la columna “Número de Asientos” en una tabla, que luego se puede utilizar junto con “GENERATE_SERIES” para generar la serie requerida de números.

    Los datos resultantes estarán agrupados por Manager, Building y Floor, y tendrán una nueva columna “Número de Asientos” con la serie generada de números. Los datos resultantes estarán ordenados por Manager, Building, Floor y “Número de Asientos”.

Comments are closed.