如何在orderby排序之后加上一列序号

起因:公司想要做好友之间成长值排名
过程:在这里插入图片描述
:由于项目开始觉得都是前端去处理这些问题,现在需要我来处理,因为公司分为了很多个平台.一个人的改动相对于更多人的改动,还是选择了前者.
发现:
第一种:
select
序号= Row_Number()over(partition by ID)
,ID, 名字
from t
第二种:
select ROW_NUMBER() over(partition by id order by id desc) as 序号,* from table1
第三种:
SELECT c1.*
,IF(c2.id=@cid, @rn:=@rn+1,@rn:=1) as rn
,@cid:=c2.id
from (select * from t order by ID)c1
join (select distinct ID from t order by id) c2 on c1.id=c2.id
CROSS join (select @rn:=0,@cid=0) c3
:想法:因为现在大多数都是操作于框架之中,不想因为一个小改动,去引用单页面,于是想要通过框架解决这个问题.
结果:根据laravel框架PHP做出想要的效果.
逻辑:首先根据orderby去排序,拿到所有数据.然后根据foreach遍历,依次去添加一列值,这里我们随机一个num作为一个你想增加的一列名字,在数组里面就是key,而key对应的value就是自增的值.
代码:
$UserData = DB::table(‘你需要查询的表名’)->where(‘条件’)[如果你是全部数据排序这个可以不用加]->orderb

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值