我有一张SumTab表,有(ID,PValue,Description,DTime)四个字段,但是里边记录很多重复,我想写成先把记录按时间排序,然后取DTime最新并且是最先遇到的那条记录。就是说ID有很多相同,但是我只需要最新的。
解决方案 »
- sql server 怎么实现异地热备份,要是双机热备就更好了
- 怎样提取SQL 2005中 表的一个列的指定的字符串
- insert语句的奇怪错误,在线等,分数不够可以加
- 非常典型的(简单)SQL,达人请进,马上结贴送分~!
- 请问怎样把数据库维护计划备份下来, 我怕万一要重装系统后,数据库维护计划不见了.
- 如何匹配这些数据
- sqlserver2005 标准版 sp2完全安装之后,进行发布订阅时候.提示此实例上未安装复制组件.
- 求一sql,有点难度,等待...
- Sql Server 2000 + sp2出现了问题,经常停止服务。
- sql查询,sum .
- SQL 更新语句
- sqlserver2000升级到2005的问题
*
from
tb t
where
DTime=(select max(DTime) from tb where id=t.id)
SELECT * FROM SUMTAB T1
WHERE NOT EXISTS(SELECT 1 FROM SUBTAB T2 WHERE T2.ID=T1 AND T2.DTIME>T1.DTIME)
ORDER BY DTIME ASC
--上面写错了,请无视
SELECT * FROM SUMTAB T1
WHERE NOT EXISTS(SELECT 1 FROM SUBTAB T2 WHERE T2.ID=T1.ID AND T2.DTIME>T1.DTIME)
ORDER BY DTIME ASC
DTime=(select max(DTime) from SumTab where id=SumTab .id)
Create procedure Step1Trans as
begin
insert into SumTab select PointID,PVValue,Description,Convert(varchar(20),getdate(),120) from AnalogPoint
end
Go代码就是我的存储过程,我是需要不停的从AnalogPoint这张表中取数据的,我现在想每次都取同一条记录中的最新的记录,
SELECT * FROM SUMTAB T1
WHERE NOT EXISTS(SELECT 1 FROM SUBTAB T2 WHERE T2.ID=T1 AND T2.DTIME>T1.DTIME)如果每次仅仅取一条记录的话,使用游标