帖子置顶,SQL语句,数据库表的设计

比如论坛的帖子,现在有帖子名称,帖子内容,是否置顶,写入时间,4个字段。我想输出的时候按时间排序,然后置顶的帖子永远在正常帖子的最上面(置顶的帖子也按时间排序,就是首先输出的是置顶帖,然后才是平常帖)SQL语句如何写,我用的SQL2000数据库,或者怎么设计表的字段,小弟新手,请各位大哥指点一二。

第1个回答  推荐于2018-04-07
一个嵌套查询就可以了啊
比如置顶为1,非置顶为0
select * from (select * from bbs order by ctime desc) c order by istop desc
1.先查询出按时间倒序结果集
2.在上一个结果集中查询按置顶倒序的结果集本回答被网友采纳
第2个回答  2015-11-04
select * from 表 order by 是否置顶 desc, 写入时间 desc

order by 排序,先排是否置顶的,再按时间排序。
第3个回答  2009-12-29
可以写在两个查询里面啊,输出到两个结果集,如果非要写在一个里面可以这样
SELECT * FROM Table WHERE 置顶的条件 ORDER BY RecordTime
UNION
SELECT * FROM Table WHERE 不置顶的条件 ORDER BY RecordTime
第4个回答  2009-12-29
在数据库表里加一个小小的字段就好了,最好是能记录多种状态的,比如什么推荐/精华/有图……弄个1/2/3/4都可以标识状态,这样的话,你的程序写起来会顺手一些的

请问有没有办法用一条sql语句来实现置顶功能
在文章表里有top布尔型字段 我原来的sql语句是sql="select * from 表名 order by 时间 desc where top=true" 来显示置顶文章,然后再用sql="select * from 表名 order by 时间 desc where top=false" 来显示不是置顶的文章,可是这样做的话,虽然可以实现置顶的功能,但是这样那些置顶的文章在每...

如何把回帖置顶???
在数据库里设置一个标记,比如说置顶时候就把该项设置为1,取消置顶时候就设置为0 当读取数据库时候就先根据该项首先读取,放在1楼 然后再按原来代码读取其他 当然还有其他细节,我的思路就是这样的 我就是这样做的 我是用php+mysql写的一个 PS:也就是修改数据库增加一个数据"列",专门记录是否置顶...

如何在一个asp的新闻发布中实现论坛中的置顶功能.
<%sql2="SELECT id FROM table"rs.open sql2,conn,1,1 for i = 1 to 3 if not rs.eof then > 以后只用对前三个进行修改就可以了

php 怎样实现论坛主题置顶功能?
select * from 表 【where】 order by 置顶字段 desc|asc,最后回复时间 desc 用,好分割开来!表示 先按照置顶 字段排列!如果置顶字段一样的值,在按照时间排列

...1是置顶,写SQL语句并且除了置顶以外的数据按f_date排序
select * from Table where <condition = condition> order by f_top,f_date Desc;楼写错了吧,应该是order

asp.net中 某条新闻新闻置顶功能怎么实现?
只需要在表中添加一个用于排序的字段就可以了.提取数据时利用该字段进行order by,SQL语句差不多是这个样子 select top 10 * from 表名 order by 排序字段 前提是你的程序要有一个接口去改变排序字段的值

SQL 怎么将数据重新到旧,并将置顶显示前面
一般的做法是分2部分做的.首先读取出isTop=true的记录按置顶时间排序 循环 然后再读取出isTop=false 然添加时间排序 循环..这样说 你明白了吗?

论坛经常出现自动非法置顶帖子
有种论坛的回复陷阱,就是回过贴的人会在不知情的情况下自动发看过的贴一样的内容,可能这种技术进一步修改达到了你说的那种情况

asp.net如何实现像QQ空间日志的置顶功能!用得是sql+asp.net(调用存储...
在数据库中 多设置一个字段 置顶的 这个字段值为 1 不置顶的这个字段值 为0 然后让这个字段进行倒排序

ASP取消置顶的代码
如果是完整的源代码应该在文章管理页面可以取消置顶,如果没有也可以自己开发,难度不大~

相似回答