您好,登錄后才能下訂單哦!
這篇文章主要講解了“mysql列轉行函數指的是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql列轉行函數指的是什么”吧!
在mysql中,列轉行函數是“group_concat()”函數;該函數用于將非空列值按照分組條件進行合并并最終返回,如果其中有空值則返回的結果是空,語法為“select group_concat(name separator ';')列名 from 表名;”。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
GROUP_CONCAT(expr)該函數將非空列值按照分組條件進行合并并最終返回。如果有空值,則返回為空
在MySQL中,如何將列轉成一行?比如一個一個商品會屬于多個分類(如華為手機可以是手機分類,也可以是數碼分類),如何將此商品在一條數據中展現所有分類。
思路很簡單,通過MySQL函數group_concat即可解決。
創建測試表:
create table test.test_mysql_liezhuanhang ( id bigint auto_increment comment '主鍵', name varchar(100), age int(5), primary key (id) )engine=innodb default charset=utf8mb4 comment='測試表'
導入測試數據:
insert into test.test_mysql_liezhuanhang (name, age) values ('李威', 18), ('李威', 19), ('李威', 18), ('李白', 20), ('李白', 20), ('李白', 19);
展現所有名字,以分號分割,默認以,
分割
select group_concat(name separator ';') concat from test.test_mysql_liezhuanhang ;
展現所有名字,并將相同名字去重
select group_concat(distinct name) concat from test.test_mysql_liezhuanhang ;
展現所有年齡,去重并以年齡升序排序
select group_concat(distinct age order by age) concat from test.test_mysql_liezhuanhang ;
感謝各位的閱讀,以上就是“mysql列轉行函數指的是什么”的內容了,經過本文的學習后,相信大家對mysql列轉行函數指的是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。