【mysql】語句最佳化

來源:互聯網
上載者:User

標籤:

論壇上看到有個類似的分割查看查詢結果的梗 一時手癢就出手 治一治

 

比如有 A B 表
A 表
ID,NAME
1,A
2,B
3,C

B 表
FK_ID,TYPE,VALUE
1,socer,100
1,socker,90
2,socker,20

求這樣的結果
A.ID,A.NAME,A.SOCKER
1,A,‘100,90‘
2,B,‘20‘


也就是 SELECT 的時候做了一個欄位 SOCKER 把 B 表的列值做了一行,用","符號分割。求 SQL 語句 感謝

 

手寫 建表create table A(   ID             int(10) not null auto_increment,   NAME           varchar(20),   primary key (ID));create table B(   FK_ID             int(10) not null auto_increment,   TYPE           varchar(10),
  VALUE      varchar(10)
 );

 

 

實現sql如下①

SELECT  A.ID ,        A.NAME ,        group_concat(b.VALUE) AS SOCKERFROM    A        INNER JOIN B ON A.ID = b.FK_IDGROUP BY A.ID ,        A.NAME

實現sql如下② 支援輸出結果寫進硬碟路徑

SELECT  A.ID     AS  ‘A.ID‘ ,        A.NAME  AS   ‘A.NAME‘  ,GROUP_CONCAT(B.VALUE) AS  ‘A.SOCKER‘ FROM    A,B WHERE A.ID = B.FK_ID GROUP BY A.ID , A.NAMEINTO OUTFILE "D:/NEWS.SQL";

 

【mysql】語句最佳化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.