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
Lepaskan: 2024-12-18 02:34:13
asal
471 orang telah melayarinya

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)
);
Salin selepas log masuk
  • 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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan