求获取总表中所有不同计算机最近一次日期的配置信息? select 计算机名,max(创建日期) from tb group by 计算机名 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from tb as t where not exists(select 1 from tb where 计算机名=t.计算机名 and 创建日期>t.创建日期) -- SQL Server 2005 以上用分析函数:select * from (select * , ROW_NUMBER() over(partition by 计算机名 order by 日期 desc ) as rn from mytable ) x where rn = 1 你好,我发现再多个字段就不好处理了。烦请再看看这个表格:计算机名 MAC地址 创建日期A_A 00:00:00:00:00:01 2014/8/4 7:58B 00:00:00:00:00:02 2014/8/4 0:00C 00:00:00:00:00:03 2014/8/3 0:00B_B 00:00:00:00:00:02 2014/8/3 0:00A 00:00:00:00:00:01 2014/8/2 14:03C 00:00:00:00:00:03 2014/8/2 14:03B 00:00:00:00:00:02 2014/8/2 14:03计算机名会变,MAC地址假定不变,按MAC分组取日期最近的所有字段数据!谢谢 补充:要得到计算机名 MAC地址 创建日期A_A 00:00:00:00:00:01 2014/8/4 7:58B 00:00:00:00:00:02 2014/8/4 0:00C 00:00:00:00:00:03 2014/8/3 0:00 sos 搞不懂的问题(超级简单问题) SQL中一个表中几条数据怎么合成一条!? Sqlserver2005的表分区,分区键应该怎么选择? 请看看这有什么错 SQL server 2000 除法问题 数据库设计有什么规范? 这样的数据库该如何设计,请GGJJDDMM们快帮忙 【求助】如何自动更新表中数据? SQL sever 如何批量删除表格 求一个计算累计的SQL语句 求助一个金额叠减的语句
-- SQL Server 2005 以上用分析函数:
select * from (
select * ,
ROW_NUMBER() over(partition by 计算机名 order by 日期 desc ) as rn
from mytable
) x
where rn = 1
计算机名 MAC地址 创建日期
A_A 00:00:00:00:00:01 2014/8/4 7:58
B 00:00:00:00:00:02 2014/8/4 0:00
C 00:00:00:00:00:03 2014/8/3 0:00
B_B 00:00:00:00:00:02 2014/8/3 0:00
A 00:00:00:00:00:01 2014/8/2 14:03
C 00:00:00:00:00:03 2014/8/2 14:03
B 00:00:00:00:00:02 2014/8/2 14:03
计算机名会变,MAC地址假定不变,按MAC分组取日期最近的所有字段数据!谢谢
要得到
计算机名 MAC地址 创建日期
A_A 00:00:00:00:00:01 2014/8/4 7:58
B 00:00:00:00:00:02 2014/8/4 0:00
C 00:00:00:00:00:03 2014/8/3 0:00