sql 查数据库中时间最新的一条记录

oracle中有top1吗... oracle 中有 top 1吗 展开
 我来答
大野瘦子
高粉答主

推荐于2019-10-06 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:31.7万
展开全部

select *,max(create_time) from a

where create_time<="2017-03-29 19:30:36" 

group by user_id

这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。

扩展资料:

SQL数据查询语句

1、语句语法简单归纳为:

SELECT select_list [INTO new_table_name] [FROM table_source] 

[WHERE search_condition] [GROUP BY group_by_expression] 

[HAVING search_condition] [ORDER BY order_expression [ASC | DESC]]

2、WITH子句用于指定临时命名的公用表达式,在单条语句(SELECT、INSERT、UPDATE、DELETE)的语句执行范围内定义。

3、LIKE关键字

用于模糊查询,通配符有%、_、[ ]、[^]

%:后面可以跟零个或多个字符

_:匹配任意单个字符

[ ]:查询一定范围内的单个字符,包括两端数据

[^]:表示不在一定范围内的单个字符,包括两端数据

chinayaon
2008-12-12 · TA获得超过1.1万个赞
知道小有建树答主
回答量:927
采纳率:100%
帮助的人:579万
展开全部
select top 1 * from tablename order by 时间 desc

如果有自动增值的id主键的话,用id比较准确,可以用

select top 1 * from tablename order by id desc

因为按照时间排序,有可能因为你的时间字段是字符型的而引起错误,这样非要用时间排序的话应该有支持的时间转换函数。

top 是通用的SQL查询语句,一般的数据库都支持的。虽然没用过orcle,不过相信肯定“有!”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b175ef05b
2008-12-12 · 超过14用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:42.2万
展开全部
最好用事物处理,因为你在查询的时候,可能正在插入一条新的记录。另外sqlsever中有专门的语句,select @@identity。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WHITE_WIN
推荐于2017-09-16 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1854万
展开全部
MSSQL:
select top 1 * from tablename order by 时间 desc

oracle:
select * from (select *,rownum as sn from tablename order by 时间 desc) as t where sn=1

还有:
SELECT * from tablename where 时间=(select max(时间) from tablename)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溆去篮葩文褂2024
2008-12-12 · TA获得超过418个赞
知道答主
回答量:196
采纳率:0%
帮助的人:0
展开全部
正面写法:
select xx from table where time = max(time)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式