zoukankan      html  css  js  c++  java
  • 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 小结

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

  • 相关阅读:
    bzoj2400 Spoj 839 Optimal Marks
    01分数规划
    bzoj1565 植物大战僵尸
    bzoj1497 最大获利(最大权闭合子图)
    bzoj3144 切糕
    loj6045 价
    bzoj3894 文理分科
    luogu3731 新型城市化
    快速傅里叶变换(FFT)
    bzoj1030 文本生成器
  • 原文地址:https://www.cnblogs.com/fanbi/p/9356740.html
Copyright © 2011-2022 走看看