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

mysql列轉換為行函數

夏志豪2年前8瀏覽0評論

MySQL的列轉行函數,指的是將一行中多個列的值,轉換為一列中的多個值。這可以通過聚合函數和條件表達式來實現。

以下是一個將多列轉換為行的示例:

SELECT 
id, 
MAX(CASE WHEN attribute_name = 'color' THEN attribute_value END) AS color,
MAX(CASE WHEN attribute_name = 'size' THEN attribute_value END) AS size,
MAX(CASE WHEN attribute_name = 'material' THEN attribute_value END) AS material
FROM products_attributes
GROUP BY id;

上面的代碼中,我們使用了 MAX 函數和 CASE 語句,將 products_attributes 表中的多個屬性值,根據 id 聚合為一行。

注意,如果要在 GROUP BY 語句中的每個非聚合列都在 SELECT 中出現,那么就沒有必要在 SELECT 中使用 DISTINCT 修飾符。因為這樣做只會增加額外的計算開銷。

在實際應用中,列轉行函數經常被用于按需加載數據,這可以顯著地提高查詢性能。