zoukankan      html  css  js  c++  java
  • 基于Mysql 根据输入值 为基础的 环形排序

    前提

    有表Table,有数据如下,其中 字段index 的长度未知:

    index data
    1 bulabula
    5 bulabula
    11 bulabula
    35 bulabula
    71 bulabula
    95 bulabula
    96 bulabula

    需求

    随机生成一个数,然后以这个数【不含这个数】开始,进行正序逆序排序 并分页
    例如:

     // 当: 现在命中了 生成数为 100,每页取 3条
     正序:第一页: 1->5->11 第二页: 35->71->95 第三页 96
     逆序:第一页: 96->95->71 第二页: 35->11->5 第三页 1
    

    正序全列:

    1 5 11 35 71 95 96

    逆序全列:

    96 95 71 35 11 5 1
     // 当: 现在命中了 生成数为 50,每页取 3条
     正序:第一页: 71->95->96 第二页: 1->5->11 第三页 35
     逆序:第一页: 35->11->5 第二页: 1->96->95 第三页 71
    

    正序全列:

    71 95 96 1 5 11 35

    逆序全列:

    35 11 5 1 96 95 71
     // 当: 现在命中了 生成数为 35,每页取 3条
     正序:第一页: 71->95->96 第二页: 1->5->11 第三页 35
     逆序:第一页: 11->5->1 第二页: 96->95->71 第三页  35
    

    正序全列:

    71 95 96 1 5 11 35

    逆序全列:

    11 5 1 96 95 71 35

    答案

    # 正序
    SELECT `index` FROM `Table`  order by FIELD( SIGN(`index`-要命中的数),1,-1,0),  `index`;
    # 逆序
    SELECT `index` FROM `Table`  order by FIELD( SIGN(`index`-要命中的数),-1,1,0),  `index` desc ;
    

    思路

    基于mysql 百度一下 这俩函数 啥概念 就解决了。

  • 相关阅读:
    ES6
    JavaScript小练习2
    JavaScript实现多重继承
    一个定高,一个高度自适应的布局
    实例教程:1小时学会Python(转)
    备份文件的python脚本(转)
    Python2.5/2.6实用教程:基础篇(转)
    Python 读写 Excel(转)
    python实用技巧 : Filtering os.walk(转)
    Python:文件操作技巧(File operation)(转)
  • 原文地址:https://www.cnblogs.com/akashicbrother/p/14991012.html
Copyright © 2011-2022 走看看