select * from table1 a , (select CompanyID as C_id, max(AddTime) as last_time from table1 group by CompanyID) b where a.CompanyId = b.C_id and a.AddTime = c.last_time
解决方案 »
- instead of 是怎么用的啊,和触发器怎么连用的,我现在还不会用,请举个实例解释下
- 子查询返回的值多于一个
- 来问个复杂一点的SQL文,急用!谢谢
- sql语句问题 请高手指点!
- SQL2005 INFORMATION_SCHEMA.PARAMETERS视图中当存储过程参数为NVARCHAR(MAX)时CHARACTER_MAXIMUM_LENGTH为-1
- 如何检索text类型的字段
- 远程连接Sql server的问题?
- 请问个困难问题
- 在sqlserver里面,因为查询比较复杂,还有需要不同,我给这个表多加一些索引,请问索引多了对数据库有影响吗?
- SQL 函数的语法问题
- 可否将SQL SERVER 代理加入启动任务
- 难题:如果将一个数据库的数据库定义,表定义,视图定义,存储过程定义,函数的定义全部列出来?
from(
select distinct CompanyID from table1 --所有的公司
)a left join table1 b on a.CompanyID=b.CompanyID and b.AddTime=getdate() --当前时间的报价
select a.* from table1 a , (select id , max(AddTime) as last_time from table1 group by id) b where a.Id = b.id and a.AddTime = b.last_time
1 1 1000 2004-10-23 10:10
2 1 1040 2004-10-23 11:10
3 1 1020 2004-10-23 14:10
4 2 900 2004-10-23 12:00
5 2 800 2004-10-23 16:10
6 3 2000 2004-10-23 09:10
7 3 2000 2004-10-23 15:10希望得到的数据是
3 1 1020 2004-10-23 14:10
5 2 800 2004-10-23 16:10
7 3 2000 2004-10-23 15:10
from(
select distinct CompanyID from table1 --所有的公司
)a left join table1 b on a.CompanyID=b.CompanyID and DAY(b.AddTime)=DAY(getdate()) and b.AddTime=(
select max(AddTime) as last_time from table1 c where c.CompanyID =b.CompanyID )
from <your_table, sysname, t>
where ID in
(
select max(ID)
from <your_table, sysname, t>
group by CompanyID
)