Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Pivot Data Menggunakan Berbilang Lajur (user_id dan lang) dalam SQL?

Bagaimana untuk Pivot Data Menggunakan Berbilang Lajur (user_id dan lang) dalam SQL?

DDD
DDDasal
2024-12-18 02:34:13459semak imbas

How to Pivot Data Using Multiple Columns (user_id and lang) in SQL?

Mengasingkan Data dengan Berbilang Lajur

Dalam set data yang disediakan, data kini dipangsi dengan lajur user_id sebagai pengecam utama. Walau bagaimanapun, hasil yang diingini adalah untuk memutar data dengan user_id dan lang sebagai pengecam utama.

Untuk mencapai ini, fungsi PIVOT boleh digunakan. Fungsi PIVOT mengambil nilai agregat dan mengumpulkannya mengikut satu atau lebih lajur, mencipta lajur baharu untuk setiap kumpulan. Dalam kes ini, lajur org dan kedudukan akan diagregatkan dan dikumpulkan mengikut lang.

Pertanyaan SQL

Pertanyaan SQL berikut menunjukkan cara untuk memutar data menggunakan berbilang lajur:

SELECT *
FROM source
PIVOT (
    MIN(org) AS org,
    MIN(position) AS position
    FOR lang IN('EN' AS en, 'FI' AS fi, 'SV' AS sv)
);
  • Klausa SELECT mendapatkan semula semua lajur daripada sumber jadual.
  • Klausa FROM menentukan jadual sumber sebagai asal data.
  • Klausa PIVOT melaksanakan operasi berputar:

    • MIN( org) mengira nilai minimum lajur org untuk setiap kumpulan.
    • MIN(kedudukan) mengira nilai minimum kedudukan lajur untuk setiap kumpulan.
    • UNTUK lang IN('EN' AS en, 'FI' AS fi, 'SV' AS sv) mentakrifkan lajur pengumpulan dan alias yang sepadan.

Hasil

Hasil pertanyaan ialah set data berpasing dengan yang berikut lajur:

  • user_id: Pengecam pengguna.
  • org_en: Organisasi yang dikaitkan dengan keutamaan bahasa Inggeris.
  • position_en: Kedudukan yang dikaitkan dengan keutamaan bahasa Inggeris.
  • org_fi: Organisasi yang dikaitkan dengan keutamaan bahasa Finland.
  • position_fi: The kedudukan yang dikaitkan dengan keutamaan bahasa Finland.
  • org_sv: Organisasi yang dikaitkan dengan keutamaan bahasa Sweden.
  • position_sv: Kedudukan yang dikaitkan dengan keutamaan bahasa Sweden.

Atas ialah kandungan terperinci Bagaimana untuk Pivot Data Menggunakan Berbilang Lajur (user_id dan lang) dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn