select*,max(create_time)froma
wherecreate_time<="2017-03-2919:30:36"
groupbyuser_id
这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。
扩展资料:SQL数据查询语句
1、语句语法简单归纳为:
SELECT select_list [INTO new_table_name][FROM table_source]
[WHERE search_condition][GROUPBY group_by_expression]
[HAVING search_condition][ORDERBY order_expression [ASC|DESC]]
2、WITH子句用于指定临时命名的公用表达式,在单条语句(SELECT、INSERT、UPDATE、DELETE)的语句执行范围内定义。
3、LIKE关键字
用于模糊查询,通配符有%、_、[]、[^]
%:后面可以跟零个或多个字符
_:匹配任意单个字符
[]:查询一定范围内的单个字符,包括两端数据
[^]:表示不在一定范围内的单个字符,包括两端数据
数据库在添加数据的时候自动会把最后的一个OID+1的,也就是说你有十条数据,然后你添加一条数据后,OID自动回变成11,这个不要你 *** 心,如果你说的是要读取数据库的最后一条信息,有2个方法,一个是SQL语句读取数据库,然后按照OID降序排列,然后输出的数据,就是最后一条记录,还有一个是读取数据库,升序排列,然后rs.movelast讲指针移到到最后,读取最后一条记录:<%
Set rs = Server.createobject("adodb,recordset")
Sql="select * from object order by oid asc"
rs.open sql,conn,1,1
rs.movelast
response.write rs("oid")
rs.close
set rs =nothing
%>
或者
<%
Set rs = Server.createobject("adodb,recordset")
Sql="select * from object order by oid desc
rs.open sql,conn,1,1
response.write rs("oid")
rs.close
set rs =nothing
%>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)