最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡(jiǎn)單談?wù)凪ySQL數(shù)據(jù)透視表

 更新時(shí)間:2019年08月11日 10:38:38   投稿:hebedich  
這篇文章主要介紹了簡(jiǎn)單談?wù)凪ySQL數(shù)據(jù)透視表的相關(guān)資料,需要的朋友可以參考下

我有一張這樣的產(chǎn)品零件表:

部分

part_id   part_type   product_id
--------------------------------------
1      A       1
2      B       1
3      A       2
4      B       2
5      A       3
6      B       3

我想要一個(gè)返回如下表格的查詢:

product_id   part_A_id   part_B_id
----------------------------------------
1        1       2
2        3       4
3        5       6

在實(shí)際實(shí)施中,將有數(shù)百萬(wàn)個(gè)產(chǎn)品部件

最佳答案

不幸的是,MySQL沒(méi)有PIVOT功能,但您可以使用聚合函數(shù)和CASE語(yǔ)句對(duì)其進(jìn)行建模.對(duì)于動(dòng)態(tài)版本,您需要使用預(yù)準(zhǔn)備語(yǔ)句:

SET @sql = NULL;
SELECT
 GROUP_CONCAT(DISTINCT
  CONCAT(
   'max(case when part_type = ''',part_type,''' then part_id end) AS part_','_id'
  )
 ) INTO @sql
FROM
 parts;
SET @sql = CONCAT('SELECT product_id,',@sql,' 
         FROM parts 
          GROUP BY product_id');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

如果您只有幾列,那么您可以使用靜態(tài)版本:

select product_id,max(case when part_type ='A' then part_id end) as Part_A_Id,max(case when part_type ='B' then part_id end) as Part_B_Id
from parts
group by product_id

總結(jié)

以上是腳本之家為你收集整理的MySQL動(dòng)態(tài)透視全部?jī)?nèi)容,希望文章能夠幫你解決MySQL動(dòng)態(tài)透視所遇到的程序開(kāi)發(fā)問(wèn)題。

相關(guān)文章

  • mysql誤刪root用戶恢復(fù)方法

    mysql誤刪root用戶恢復(fù)方法

    這篇文章主要介紹了mysql誤刪root用戶恢復(fù)方法,本文操作是在mysql5.5版本下完成,其它版本僅作參考,需要的朋友可以參考下
    2015-02-02
  • MySQL rownumber SQL生成自增長(zhǎng)序號(hào)使用介紹

    MySQL rownumber SQL生成自增長(zhǎng)序號(hào)使用介紹

    MySQL 幾乎模擬了 Oracle,SQL Server等商業(yè)數(shù)據(jù)庫(kù)的大部分功能,函數(shù)。但很可惜,到目前的版本(5.1.33)為止,仍沒(méi)有實(shí)現(xiàn)ROWNUM這個(gè)功能
    2011-10-10
  • 在Mac系統(tǒng)上配置MySQL以及Squel Pro

    在Mac系統(tǒng)上配置MySQL以及Squel Pro

    給大家講述一下如何在MAC蘋(píng)果系統(tǒng)上配置MYSQL數(shù)據(jù)庫(kù)以及Squel Pro的方法。
    2017-11-11
  • mysqldump數(shù)據(jù)庫(kù)備份參數(shù)詳解

    mysqldump數(shù)據(jù)庫(kù)備份參數(shù)詳解

    這篇文章主要介紹了mysqldump數(shù)據(jù)庫(kù)備份參數(shù)詳解,需要的朋友可以參考下
    2014-05-05
  • mysql數(shù)據(jù)庫(kù)遷移至Oracle數(shù)據(jù)庫(kù)

    mysql數(shù)據(jù)庫(kù)遷移至Oracle數(shù)據(jù)庫(kù)

    這篇文章主要為大家詳細(xì)介紹了mysql數(shù)據(jù)庫(kù)遷移至Oracle數(shù)據(jù)庫(kù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Mysql?查詢患某種疾病的患者語(yǔ)句

    Mysql?查詢患某種疾病的患者語(yǔ)句

    select?語(yǔ)句的作用是根據(jù)輸入的條件返回指定的數(shù)據(jù)結(jié)果,select?的語(yǔ)法可以有很多種查詢的組合,基本上能夠滿足我們所有的查詢數(shù)據(jù)需求,這篇文章主要介紹了Mysql?查詢患某種疾病的患者,需要的朋友可以參考下
    2022-10-10
  • MySQL高可用MMM方案安裝部署分享

    MySQL高可用MMM方案安裝部署分享

    這篇文章主要介紹了MySQL高可用MMM方案安裝部署方法,需要的朋友可以參考下
    2014-02-02
  • Mysql中Insert into xxx on duplicate key update問(wèn)題

    Mysql中Insert into xxx on duplicate key update問(wèn)題

    在看代碼的過(guò)程中碰到了這一用法,不太理解,google了一下。它的意義其實(shí)是如果在insert語(yǔ)句末尾制定了on duplicate key update語(yǔ)句的話,則當(dāng)插入行會(huì)導(dǎo)致一個(gè)unique索引或者primary key中出現(xiàn)重復(fù)值,則執(zhí)行update中的語(yǔ)句,否則才插入新行
    2012-08-08
  • 淺談MySQL中使用IN會(huì)走索引嗎

    淺談MySQL中使用IN會(huì)走索引嗎

    本文主要介紹了淺談MySQL中使用IN會(huì)走索引嗎,通過(guò)三個(gè)案例分析了MySQL 5.7.34版本中IN操作符的執(zhí)行情況,感興趣的可以了解一下
    2025-02-02
  • MySQL基于java實(shí)現(xiàn)備份表操作

    MySQL基于java實(shí)現(xiàn)備份表操作

    這篇文章主要介紹了MySQL基于java實(shí)現(xiàn)備份表操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論

浦县| 苗栗市| 海原县| 牡丹江市| 重庆市| 台州市| 中超| 济宁市| 错那县| 鸡泽县| 体育| 兴城市| 阿克陶县| 金坛市| 阳江市| 靖江市| 长丰县| 厦门市| 夏津县| 萍乡市| 尼木县| 新民市| 蓬莱市| 高要市| 南川市| 额敏县| 繁峙县| 纳雍县| 政和县| 自治县| 龙井市| 南部县| 乌拉特前旗| 阿克陶县| 大安市| 封开县| 天峻县| 望江县| 谷城县| 固镇县| 宿松县|