色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 行轉列 group by

老白2年前9瀏覽0評論

MySQL是一種常用的數據庫管理系統,常常用于數據存儲和管理。MySQL提供的GROUP BY語句可以將數據按照指定的列進行分組,然后將分組后的數據進行聚合計算。但是有時候我們需要將行數據進行列轉換,即將多行數據轉換為一行,這時候可以使用MySQL的行轉列技術來實現。

SELECT
name,
MAX(case when hobby = 'reading' then 1 else 0 end) as reading,
MAX(case when hobby = 'writing' then 1 else 0 end) as writing,
MAX(case when hobby = 'swimming' then 1 else 0 end) as swimming
FROM
people
GROUP BY name;

在這個示例中,我們首先使用GROUP BY語句將people表按照name列進行分組。然后在SELECT語句中使用了三個MAX函數和CASE語句,將hobby列中的不同值進行行轉列操作。例如,MAX(CASE WHEN hobby = 'reading' THEN 1 ELSE 0 END)表示當hobby列中的值為'reading'時,將該行轉換為1,否則轉換為0。最后,我們得到了按照name列分組后,每個分組的行數據都被轉換成了一行。