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

sql 查数据库中时间最新的一条记录,第1张

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关键字

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

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

_:匹配任意单个字符

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

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

通过查询语句select * from user where id=1

我不知道你这个username指的是不是字段,如果是要取出表中某个字段的值。

可以通过select 字段名1,字段名2 ... from user where id=1。

-- MS sql server2005以上,ORACLE

select * from (

select row_number() over (  order by starttime asc) as rownum,* from steriworkrecord

where starttime  between '2013-11-1' and '2013-12-31'

)  a

where rownum between 2 and 10

-- 【注意( order by starttime asc)是你排序的方式asc升序,desc降序】

-- ORACLE还可以

select * from (

select rownum as n,* from steriworkrecord

where starttime  between '2013-11-1' and '2013-12-31'

)  a

where a.n between 2 and 10

-- MYSQL,postgreSQL似乎只能标量子查询

SELECT *FROM (

SELECT a.*,(

SELECT count(*)  FROM steriworkrecordb    WHERE b.ID<= a.ID) AS n

from steriworkrecorda

) ts

where ts.n between 2 and 10

-- 【注意b.ID<= a.ID  其中ID换成你的主键名称】


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6775956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存