数据库结构
序号 | 姓名 | 手机号 | 项目 |
---|---|---|---|
1 | 测试1 | 123 | 项目1 |
2 | 测试1 | 123 | 项目2 |
3 | 测试2 | 321 | 项目3 |
需求:
发送短信,每个手机号只发送一次,数据库中有两条记录的发送内容为项目1+项目2
方案:
- 方案1:一次SQL查询(分页) 手机号1+项目1+项目2,手机号2+项目3
- 方案2:先去重查询所有手机号(分页),每个手机号查询项目
现在假设数据里有5000个手机号,每个手机号1-3个项目不等
现在选择方案1
姓名 | 手机号 | 项目 |
---|---|---|
测试1 | 123 | 项目1,项目2 |
测试2 | 321 | 项目3 |
MySql语句
SELECT
group_concat(distinct 姓名) 姓名,
手机号,
group_concat( 项目 )
FROM 表名
GROUP BY 手机号
发表评论
沙发空缺中,还不快抢~