起因:公司想要做好友之间成长值排名
过程:如何在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([email protected], @rn:[email protected]+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(‘条件’)[如果你是全部数据排序这个可以不用加]->orderby(‘字段名’,‘递增或者是递减’)->get();
foreach( $UserData as k=>k=>v ){
//UserData[UserData[$k]->num = $k;[大家注意这个代码,如果输出之后默认是0,1,2,3这样去排序]
UserData[UserData[$k]->num = $k;[我们需要这样去排序,就是1,2,3,4,至于原因我就感觉看到这里的应该都知道]
}
注释:因为上面查询结果是复制粘贴其他网站上的,所以如果有涉及其他的,请留言,我及时做出更改,但是下面的代码是自己刚写的,然后只是希望大家可以看到,因为昨天搜了好久,发现没有,谢谢大家.如何在orderby排序之后加上一列序号
最后希望大家工作不要太紧张,每一天都是新的一天,朝气的我们就该乘风破浪,面对甲方的需求,尽力尽力,再尽力.愿大家开心.
如何在orderby排序之后加上一列序号

相关文章:

  • 2022-12-23
  • 2021-12-25
  • 2021-07-16
  • 2022-01-10
  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-03
  • 2022-12-23
  • 2021-08-15
  • 2021-09-04
相关资源
相似解决方案