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 小结

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

  • 相关阅读:
    Linux之cd、pwd、mkdir、rmdir
    Linux之目录结构配置
    Linux之chgrp
    Linux之chown
    Linux之chmod
    Linux之用户组、文件权限详解
    Linux命令之shutdown
    Linux命令之man
    Git-.gitignore配置
    Linux内核移植到JZ2440
  • 原文地址:https://www.cnblogs.com/fanbi/p/9356740.html
Copyright © 2011-2022 走看看