"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puede usar los datos de Group by para pivotar en MySQL?

¿Cómo puede usar los datos de Group by para pivotar en MySQL?

Publicado el 2025-06-15
Navegar:917

How can you use GROUP BY to Pivot Data in MySQL?

pivotando resultados de consulta usando el grupo mySQL mediante

en una base de datos relacional, los datos giratorios se refieren al reorganización de las filas y columnas para mejorar la visualización de datos. Aquí, abordamos un desafío común: transformar los datos de la fila basado en la fila basado en columnas usando el grupo por.

consulta

para pivotar los datos, podemos emplear el grupo por cláusula junto con funciones de agregación condicional, como suma o caso. Consideremos la siguiente consulta:

 
seleccione
d.data_timestamp,
sum (caso cuando data_id = 1 entonces data_value el más 0 end) como 'input_1',
sum (case cuando data_id = 2 entonces data_value el más 0 final) como 'input_2'
de [] de [] data
grupo por
d.data_timestamp
orden por
d.data_timestamp data_timestamp.

Dentro de cada grupo, calcula la suma de data_values ​​para el data_id correspondiente (e.g., input_1 para data_id = 1).

la función de suma () maneja los valores faltantes de forma predeterminada a 0 para valores null. con la suma de data_values ​​para los enfoques alternativos

    MySQL también ofrece métodos alternativos. Estos enfoques incluyen usar la función if () o uniones de nivel múltiple.
  • if () function
 
  • select
  • d.data_timestamp, sum (if (data_id = 1, data_value, 0)) como 'input_1',

    SUM 2, data_value, 0)) como 'input_2' de data

    grupo por

    d.data_timestamp

    orden por

    d.data_timestamp Se unen

     

    select
    d.data_timestamp,
    d01.data_value como 'input_1',
    d02.Data_value como 'input_2'
    de
    (

    seleccione D.DATIMS Desde datos

    ) como d
    izquierda unirse
    data como d01

    en

    d01.data_timestamp = d.data_timestamp y d01.data_id = 1 izquierda data como d02

    d02.dates d02.data_id = 2

    orden por
    d.data_timestamp El caso, IF () y las técnicas de unión de nivel múltiple ofrecen flexibilidad para manejar datos y acomodar varias estructuras de datos. Elegir el enfoque óptimo depende de los requisitos específicos y las consideraciones de rendimiento.

    Último tutorial Más>

    Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

    Copyright© 2022 湘ICP备2022001581号-3