MySQL将查询出来的一组数据拼装成一个字符串

1 前言

由于项目中有一个需求,需要把当日当周的排行榜数据归档,以便后期查询和发放奖励。然而发现,mysql的变量只能存一个变量值,然后如果要储存一条记录,可以使用CONCAT_WS,如果要储存多条记录,则再其基础上使用GROUP_CONCAT方法,再配合order by 某字段即可。

2 代码  

//默认值查询num>0,条件可以按需改动
select GROUP_CONCAT(CONCAT_WS("|",t1.uid,num,name) order by num desc) into @content from rank t1,users t2 where t1.uid=t2.uid and num > 0;

分析:缺点,此方法无法用limit来分段查询,如果要使用limit分段才行,可以在条件num这边下手,代码如下:

//获取第30名次用户的num数值
SET @limit =  select num from rank order by num limit 29,1
//前面代码的条件就可以改成
num>@limit,   

3 小结

作为记录使用。如果你们有更好的方案,请你也告诉我一下,互相交流,谢谢!

转载于:https://www.cnblogs.com/fanbi/p/9356740.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值