2 libosom1 libosom1 于 2017.01.07 09:33 提问

请教SQL查询语句,如何实现置顶功能,并将置顶和未置顶的数据按某一顺序排序 5C

如题,求助!如何实现置顶功能,并将置顶和未置顶的数据按某一顺序排序
select * from **** order by top,time 这样不行

5个回答

welan123123
welan123123   2017.01.07 09:38

你需要在数据库里加一个字段,代表是否置顶,然后根据这个自动分组再排序

libosom1
libosom1 回复奔跑的小鱼儿: 看下面图片
一年多之前 回复
welan123123
welan123123 回复libosom1: 那你怎么判断是否置顶了?
一年多之前 回复
libosom1
libosom1 加不了,实际语句比较复杂,要对查询结果进行排序
一年多之前 回复
JE_GE
JE_GE   2017.01.07 09:57

把查询结构包起来,取个别名,又是一个表,在对此表进行排序操作

HarleyZhuge
HarleyZhuge   2017.01.07 09:56

你首先要找出置顶记录的特征,然后按照置顶特征降序阿。话说你给的Sql语句能说明什么?

libosom1
libosom1 回复libosom1: 特征见下图
一年多之前 回复
libosom1
libosom1 ....给的语句是为了避免这类回复
一年多之前 回复
libosom1
libosom1   2017.01.07 10:24

图片说明

libosom1
libosom1 xianykc为0的置顶,然后xianykc为0和不为0的分别按wuliao排序
一年多之前 回复
welan123123
welan123123   2017.01.07 11:34

这不是很简单吗,先根据xianykc分组,然后排序,wuliao升序,xianykc降序
GROUP BY xianykc ORDER BY wuliao ASC, xianykc DESC

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mysql查询实现新闻置顶功能
第一种情况:置顶新闻只在第一页显示增加一个Int类型的置顶标记位istop,默认istop=0。置顶新闻之间的顺序通过istop值表示,istop值越高新闻越靠前。查询语句: SELECT * FROM [表名] ORDER BY istop DESC,createtime DESC LIMIT 0,3第二种情况:置顶新闻在每一页显示增加标记位与第一种情况相同查询语句: SELECT * From
[置顶] 数据库的最简单实现
作者: 阮一峰  http://www.ruanyifeng.com/blog/2014/07/database_implementation.html 所有应用软件之中,数据库可能是最复杂的。 MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。 但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖
展示数据后某一条数据置顶显示的方法
eg:有一张报表展示的是很多个城市的空气质量情况,现在我想让合肥市置顶显示,方法如下 在正常拖动数据后,再复制整行书记行在上方,就是两行一模一样的内容,在第二行是正常显示,第一行添加如下过滤条件,当城市不等于合肥时,让其他的数据行高为0, 这样就可以实现某行数据的置顶,当然也可以再两行中都加上标红显示。
对表数据进行(置顶,上移,下移,置底操作)---数据库sql
这两天一直在做社区论坛的帖子的(置顶,上移,下移,置底操作),下面是个人心得: -- 上一条:select * from 表 where 数据id<@当前显示数据id order by 数据_id asc) limit 1 -- 下一条:select * from 表 where 数据id>@当前显示数据id order by 数据_id desc) limit 1 -- 给新查
请问有没有办法用一条sql语句来实现置顶功能
在文章表里有top布尔型字段 我原来的sql语句是sql="select * from 表名 order by 时间 desc where top=true" 来显示置顶文章,然后再用sql="select * from 表名 order by 时间 desc where top=false" 来显示不是置顶的文章,可是这样做的话,虽然可以实现置顶的功能,但是这样那些置顶的文章在每一页都会出现,并且也不便于分页的制作,使每一页都一样条数的新闻没法控制,因为置顶的新闻可能没有也可以是多条。请问有没有办法用一条
MYSQL自定义排序,字段置顶等
在MYSQL数据库查询时,排序是经常用到的一个功能。单纯按照某字段排序查询较为简单,无非就是order by `field` (DESC/ASC)。如: 1 SELECT * FROM `table` 2 ORDER BY `field` DESC 注:上面的table换成要查询的表名,field换成要排序的
置顶操作的实现
从网上学习到的方法,加上和同学讨论到的结果 需求: 可以通过置顶排序 新发布的文章可以在所有标识置顶的文章之后,按照发布时间排序 实现逻辑: 数据库字段中: 1.发布时间和文章id应该是正相关的,所以默认是通过id来排序 2.增加字段top做一个标识符,做为标识是否为置顶的文章,用于分类(置顶为1,没有置顶为0) 默认为0 3.增加一个top_time字段
mysql选择上一条、下一条数据记录,排序上移、下移、置顶
选择mysql记录上一条,下一条sql语句,完成列表排序上移,下移,置顶功能!设置一个rank为之间戳,通过选择上移,就是将本记录与上一条记录rank值交换,下移就是将本条记录与下一条记录rank值交换,置顶就是将本记录与rank值最小的记录交换
MySQL查询时有时候需要某条记录置顶或者放最后,而其他的记录则按照一定的顺序排序
把需要置顶的记录先查询出来,然后再查询其他的记录,把两个结果集合并。置末则反之。 合并结果集方法 : 1  数组合并:$list1 = "select a, b, c from table_name where ... order by ...";     $list2 = "select a, b, c from table_name where ... ";    
JQuery实现置顶、置底、向上、向下、取消排序功能
sort.html 序号 内容 排序 1 内容一 置顶 href="javascript:void(0)" class="upbtn">上 href="javascript:void(0)" class="downbtn">下 href="javascript:void(0)" class="b