一个嵌套查询就可以了啊
比如置顶为1,非置顶为0
select from (select from bbs order by ctime desc) c order by istop desc
1先查询出按时间倒序结果集
2在上一个结果集中查询按置顶倒序的结果集
select (case when 该字段 = 0 then 0
else 1
end)aa
from A
where 该字段 in (select 该字段,rownum from A )
and rownum = 1
group by 该字段 (默认为升序排列)
这样子试一下吧,我没试
1、在数据库中加置顶这个字段,如果置顶,那么值为1,普通的为0
这样选择的时候select from 表 order by 置顶 desc,时间
2、如果能确定这两条的标识字段值,那么就这么写
假如是3和4
select from (select ,'1' as zd from 表 where id=3 or id=4 UNION (select ,'0' as zd from 表 where id<>3 or id<>4)) as d order by zd desc,时间 desc
补充:是否能够确定你要置顶的那两条数据的SMT_id?我这里假设你能够确定,并且假如值是3和5
<%
set rs=servercreateobject("adodbrecordset")
sql="select top 12 from (select ,(case SMT_id when 3 then 1 when 5 then 1 else 0 end) as zd from SMT_news) as temptb where SMT_key=1 and SMT_key1=1 and SMT_key2=1 and SMT_key3=1 order by zd desc,SMT_id desc"
//中间的when 3和when 5中的数字变成你确定的那两条的SMT_id值就可以了
rsopen sql,conn,1,1
do while not rseof
title=trim(rs("SMT_title"))
if cityHTML=1 then
webget="Html/news/"&year(rs("SMT_date"))&month(rs("SMT_date"))&"/"&replace(replace(replace(rs("SMT_date"),"-",""),":","")," ","")&"html"
else
webget="ypnew_viewaspid="&rs("SMT_id")&""
end if
%>
以上就是关于帖子置顶,SQL语句,数据库表的设计全部的内容,包括:帖子置顶,SQL语句,数据库表的设计、oracle表中有一字段,可以选择为0或者1,如果用户选择0,则将记录置顶,该怎么实现啊、求一句aspp写的代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)