建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > MYSQL学习 > mysql怎么自定义排序和字段置顶

mysql怎么自定义排序和字段置顶

时间:2015-05-26 20:19:33  来源:免费模板网 作者:风雪 阅读次数 tagsmysql运用

在MYSQL数据库查询时,排序是经常用到的一个功能。单纯按照某字段排序查询较为简单,无非就是order by `field` (DESC/ASC)。如:
1 SELECT * FROM `table`
2 ORDER BY `field` DESC

注:上面的table换成要查询的表名,field换成要排序的字段名,DESC表示从大到小,去掉则从小到大。

下面介绍几个复杂一点的应用:

自定义排序

需求:查询table表,取出id为1,5,9,7的记录,并按1597的顺序显示.

解决:

1 SELECT * FROM `table`
2 WHERE id in(1,5,7,9)
3 ORDER BY FIELD(`id`,1,5,9,7) //注意FIELD后面无空格

文章置顶

需求一:查询文章表table,取出所有文章,但字段zj为1的记录置顶(均以time字段排序,time大的 放在前面)。

解决一:

1 SELECT * FROM `table`
2 ORDER BY `zj` DESC,`time` DESC

解决二:

1 SELECT * FROM `table`
2 WHERE zj=1
3 ORDER BY `time` DESC
4 UNION
5 SELECT * FROM `table`
6 WHERE zj!=1
7 ORDER BY `time` DESC

需求二:查询文章表table,取出所有文章,置顶ID为1、5、12、2的文章,并按上述顺序显示。

解决:

本文地址:https://www.freemoban.com/mysql/2015/0526/1966.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!