asp 按时间顺序只显示一条信息

来源:百度知道 编辑:UC知道 时间:2024/09/20 20:49:31
我想问,怎么才能让每个用户发的信息只显示一条呢?

比如:数据库表为

id g_qyid title time
1 1003 具体内容 2008-11-2
2 1002 具体内容 2008-11-5
3 1003 具体内容 2008-11-3
4 1005 具体内容 2008-11-3
5 1003 具体内容 2008-11-6

显示成

5 1003 具体内容 2008-11-6
2 1002 具体内容 2008-11-5
4 1005 具体内容 2008-11-3

就是只显示一条信息,按照G_qyid不重复,并且按照时间的顺序显示.

select * from 表名 where id in(Select max(id) FROM 表名 group by g_qyid) order by time

这句够了,下面不用.

我能写出来的最好的方法。你最好控制下获取数量。

<%
set rs=server.CreateObject("adodb.recordset")
rs.open "select distinct g_qyid from 表名",conn,1,1
'获取不重复g_qyid,接着循环。好像有一次显示出来,但我不会,查了蛮多资料,没查到。
for i=1 to rs.recordcount

set ss=server.CreateObject("adodb.recordset")
ss.open "select * from 表名 where g_qyid="&rs("g_qyid")&" order by time desc",conn,1,1

response.Write ss("id")
response.Write ","
response.Write ss("g_qyid")
response.Write ","
response.Write ss("title")
response.Write ","
response.Write ss("time")
response.Write "<br>"

rs.movenext
next
rs.close
set rs=nothing
%>

这段代码应该可以简单化,你再继