工作中使用的mysql雜項

案例一
將a表中的指定字段插入b表中:

 insert into b (id,name,address) select id,name, "北京" from a

案例二
將a表中的name字段按連接符連接後寫入b表,(a表中多行數據合併成b表中的一行數據)

insert into b(id, name,address) 
(SELECT id,(select GROUP_CONCAT(distinct name SEPARATOR '|') as tmp_type FROM a WHERE id in(1,2,3))
FROM a WHERE id=1

#distinct 用來對字段進行去重
#同樣類似的函數還有CONCAT、 CONCAT_ws

案例三
按addr字段分組後取得組內條數是2的記錄,並且合併id和n_type字段,同時只取其中一條數據的id做爲新記錄的id.
最終效果便是分組內的兩條數據合併成一條

select addr, GROUP_CONCAT(distinct id SEPARATOR '|') as 
sum_ids,SUBSTRING_INDEX(GROUP_CONCAT(distinct id SEPARATOR 
'|'),'|',1) as tmp_id,GROUP_CONCAT(distinct n_type
SEPARATOR '|') as tmp_type from val_t GROUP BY 
addr HAVING count(1)=2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章