Asp classic 跟踪在线访问者

Asp classic 跟踪在线访问者,asp-classic,Asp Classic,我想列出我的访问者的IP地址和最后一次浏览的url。我编写的以下代码运行良好,但有一点除外。它不列出最后一个url地址,而是列出所有url地址。例如: 71.187.189.67 | 7/6/2009 9:59:25 PM |/html/default.aspProcess=HomeNewSeason&IMAGECONTENT=bg|u home|u newtaste.gifMore。。。 71.187.189.67 | 7/6/2009 9:59:24 PM |/html/default.as

我想列出我的访问者的IP地址和最后一次浏览的url。我编写的以下代码运行良好,但有一点除外。它不列出最后一个url地址,而是列出所有url地址。例如:

71.187.189.67 | 7/6/2009 9:59:25 PM |/html/default.aspProcess=HomeNewSeason&IMAGECONTENT=bg|u home|u newtaste.gifMore。。。 71.187.189.67 | 7/6/2009 9:59:24 PM |/html/default.aspMore。。。 66.249.68.210 | 7/6/2009 9:51:32 PM |/html/default.aspSection=products&SubSection=products&CATEGORYID=2&SORTBY=PriceDownMore

但我想把它当作

71.187.189.67 | 7/6/2009 9:59:25 PM |/html/default.aspProcess=HomeNewSeason&IMAGECONTENT=bg|u home|u newtaste.gifMore。。。 66.249.68.210 | 7/6/2009 9:51:32 PM |/html/default.aspSection=products&SubSection=products&CATEGORYID=2&SORTBY=PriceDownMore

我的代码

<%
    OnlineTime = DateAdd("n", -10, Now())

    SQL = "SELECT COUNT(DISTINCT VISITORIP) AS ONLINE, VISITORIP, HTTPADDRESS, DATEENTERED"
    SQL = SQL & " FROM STATS"
    SQL = SQL & " WHERE DATEENTERED BETWEEN '" & OnlineTime & "' AND '" & NOW() & "'"
    SQL = SQL & " GROUP BY VISITORIP, HTTPADDRESS, DATEENTERED"
    SQL = SQL & " ORDER BY DATEENTERED DESC"
    Set objOnVisitors = objConn.Execute(SQL)    

    If objOnVisitors.EOF Then
    Else
%>  
      <!-- Start Post -->
      <div class="post">
        <div class="date">
          <span class="month">Online</span>
          <span class="day"><%=objOnVisitors("ONLINE")%></span>
        </div>
        <p>
          <span class="title">Visits Online</span>
        </p>
<% Do While Not objOnVisitors.EOF %>
        <p>
            <%=objOnVisitors("VISITORIP")%>|<%=objOnVisitors("DATEENTERED")%>|<%=objOnVisitors("HTTPADDRESS")%><a href="">More...</a>
        </p>
<%
    objOnVisitors.MoveNext
    Loop
%>

        </div>
        <!-- End Post -->

    End If
    objOnVisitors.Close
    Set objOnVisitors = Nothing
%>

在线 的

在线访问

||

如果结束 欢迎访客,关门 设置为0=无 %>
此查询应该可以完成此操作。语法可能有点错误。我正在创建一个内部查询来查找MAX(DATEENTERED),并将其加入到STATS中,以将结果限制为每个IP的最新结果

SQL = "SELECT S.VISITORIP, S.HTTPADDRESS, S.DATEENTERED"
SQL = SQL & " FROM STATS S"
SQL = SQL & " JOIN (SELECT VISITORIP, MAX(DATEENTERED) FROM STATS S WHERE DATEENTERED BETWEEN '" & OnlineTime & "' AND '" & NOW() & "') S1"
SQL = SQL & " ON S.VISITORIP = S1.VISITORIP AND S.DATEENTERED = S1.DATEENTERED"
SQL = SQL & " WHERE S.DATEENTERED BETWEEN '" & OnlineTime & "' AND '" & NOW() & "'"
SQL = SQL & " GROUP BY S.VISITORIP, S.HTTPADDRESS, S.DATEENTERED"
SQL = SQL & " ORDER BY S.DATEENTERED DESC"

我想显示最近10分钟内输入的每个IP的最新记录。嗯,不起作用,我现在看到了。如何更改查询,以便只按visitorIP分组,而使用带有where和order by子句的日期?