一个排序算法问题

bing15 2020-03-11 04:05:03


banner_fixed_index是固定的位置,banner_show_index是从小到大。

正确的如图所示:126345,想了很多办法,还是没法实现,归根结底算法不行
...全文
432 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouyong80 2020-03-15
  • 打赏
  • 举报
回复
查询语句不排序,拿到结果集后,先将最后一列的值保存,然后对结果集进行排序,再替换最后一列的值。不知道是不是这个意思。
摩天崖FuJunWANG 2020-03-14
  • 打赏
  • 举报
回复
先把最后一列提出来,剩下两列按楼上俩asc的那个写法排好,把最后一列清空,然后把拿走的那一列横向拼接进来。就搞定了。没有直接用后台做舒服呀
帐号已注消 2020-03-14
  • 打赏
  • 举报
回复
嗯。。。。。
2018zhong 2020-03-14
  • 打赏
  • 举报
回复
推荐代码组合
yaofare 2020-03-13
  • 打赏
  • 举报
回复
实际上你这个banner_fixed_index跟其他的关联度不大,完全可以拆成两张表,这样也方便写sql
yaofare 2020-03-12
  • 打赏
  • 举报
回复

      $sql1 = "SELECT  banner_name, banner_show_index FROM db_ccc ORDER BY banner_fixed_index asc,banner_show_index asc  ";
        $arr = db()->query($sql1);
        $sql2 = "SELECT  banner_fixed_index FROM db_ccc  ";
        $brr = db()->query($sql2);
        foreach ($arr as $k => $v) {
            $arr[$k]['banner_fixed_index'] = $brr[$k]['banner_fixed_index'];
        }
        return $arr;
bing15 2020-03-12
  • 打赏
  • 举报
回复
是啊,我知道用SQL是不行,我就是通过把数据读出来,再通过代码组合出来,也没写出来
yaofare 2020-03-12
  • 打赏
  • 举报
回复
这样的话单纯用mysql行不通,要结合代码遍历组合才行
bing15 2020-03-12
  • 打赏
  • 举报
回复
是啊 不知道怎么写
xuzuning 2020-03-12
  • 打赏
  • 举报
回复
原始数据都没有给出!怎么让说不行啦?
yaofare 2020-03-11
  • 打赏
  • 举报
回复
banner_name banner_show_index banner_fixed_index 1 1 0 2 3 6 6 6 0 3 4 4 4 5 0 5 7 5 要这样的结果?
bing15 2020-03-11
  • 打赏
  • 举报
回复
不是的,banner_fixed_index是固定的位置,不是ASC。 banner_name banner_show_index banner_fixed_index 2 3 0 5 7 6 6 6 0 3 4 4 1 1 0 4 5 5 正确的排序结果为: 126345
yaofare 2020-03-11
  • 打赏
  • 举报
回复
是这样吗
bing15 2020-03-11
  • 打赏
  • 举报
回复
正确的排序应该是 banner_fixed_index是固定的位置 ,然后banner_show_index 是从小到大的。 如:banner_fixed_index 0排在最前面 6固定在6的位置上 ... 然后再根据banner_show_index从小到大的排
yaofare 2020-03-11
  • 打赏
  • 举报
回复
完整的sql贴一下,没明白你这个正确的顺序是按照什么排序的

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧