mysql实现分页和根据中文排序

595 阅读2分钟

这是我参与更文挑战的第4天,活动详情查看: 更文挑战


一、mysql中limit用法——分页

语法:

select * from 【表名】 limit m,n;

1)limit 前面不需要加 and 或者 where ,一般直接跟在语句末尾即可。

2)m 表示起始数据位置,即从第m条数据开始查询

3)n 表示该页数显示n条数据

例子:SELECT * FROM table limit 0,5;

效果:

效果图

如图所示,查询了五条数据。该sql语句意思就是:查询从第一条开始,共五条数据。为什么是0开始呢?因为是从0开始计数的 0.0。

实例:

我们在实际项目中,一般都会加标签: if标签的使用 如上图所示:此语句加入sql语句最末尾。意思是:两个值都不为空时才执行该语句。我们一般自己不定义startPos和pageSize的值,绝大部分都是前端传给我们,方便前台调试和显示。

二、mysql——中文数字排序的实现(FIELD)

今天遇到一个需求,要求排序输出网格信息,但是数据是第三方对接插入的,并没有给我们排好顺序。所以只能自己动手了。

下图是原数据:

原数据

我们需要将其升序输出。 使用mysql中的函数FIELD。 语法如下:

  SELECT identifier FROM 表名 ORDER BY FIELD(SUBSTRING(identifier,3,1),'一','二','三','四','五','六','七','八','九');

1)ORDER BY 不用多说,排序 2)SUBSTRING的作用是截取到我们想要排序的依据,这个跟java中substring是差不多的,不多说。 3)‘一’,这个就是我们自定义的排序规则了,我们也可以定义从大到小,甚至不是顺序的,简单来说就是我们定义的才是排序规则!

输出效果:

输出效果

好了,就这么简单!


点赞收藏加关注不迷路哦~