MySQL之group_concat与group by
1. group_concat与group by搭配使用;
group_concat()函数可以将同一分组内的同一字段值进行拼接,默认使用逗号分隔:
SELECT
t.brand_name,
t.category_name,
GROUP_CONCAT( t.sale_num )
FROM
`t_item` AS t
GROUP BY
t.category_name,
t.brand_name;
-- 输出结果:
森马 休闲鞋 0,0,0,0,0,0,0,0,0,0
热风 休闲鞋 0,0,0,0,0,0,0,0,0
爱步 休闲鞋 0,0,0,0,0,0,0
特步 休闲鞋 0,0,0,0,0,0,0
百丽 休闲鞋 0,0,0,0,0,0,0,0
如果想换别的分隔符可以使用replace()函数替换掉逗号,比如用#符号
SELECT
t.brand_name,
t.category_name,
REPLACE ( GROUP_CONCAT( t.sale_num ), ",", "#" )
FROM
`t_item` AS t
GROUP BY
t.category_name,
t.brand_name;
-- 输出结果
人本 休闲鞋 0#0#0#0#0#0#0#0#0#0#0#0#0
他她 休闲鞋 0#0#0#0#0#0#0#0#0#0
卓诗尼 休闲鞋 0#0#0#0#0#0#0#0#0#0
卡帝乐 休闲鞋 0#0#0#0#0#0#0#0#0#0#0#0
古奇天伦 休闲鞋 0#0#0#0#0#0#0#0#0#0
哥弟 休闲鞋 0#0#0#0#0#0#0#0
2.MySQL的优化可以从一下三个方面着手
- 库表结构优化
- 查询优化
- 索引优化
学习使我充实,分享给我快乐!