第一种 select a.* from table a left join ( select name,max(datetime) datetime from table group by name )b on a.name=b.name and a.datetime=b.datetime where b.name is not null第二种 select a.* from table a left join ( select name,type.max(datetime) datetime from table group by name,type )b on a.name=b.name and a.datetime=b.datetime and a.type=b.type where b.name is not null
楼主这个要用到分组查询,分享个连接看看有没有用。
sql2008也有类似的分析函数 你可以找一下
select a.* from table a
left join
(
select name,max(datetime) datetime from table group by name
)b on a.name=b.name and a.datetime=b.datetime
where b.name is not null第二种
select a.* from table a
left join
(
select name,type.max(datetime) datetime from table group by name,type
)b on a.name=b.name and a.datetime=b.datetime and a.type=b.type
where b.name is not null
如果我只是在dataTable上进行操作呢?数据是已经从Oracle下Down下来了,因为这样的表还会用来做其他的操作,所以希望直接基于这个表进行筛选,以减少服务器的压力。
如果我只是在dataTable上进行操作呢?数据是已经从Oracle下Down下来了,因为这样的表还会用来做其他的操作,所以希望直接基于这个表进行筛选,以减少服务器的压力。
这个比较麻烦吧 还不如再查一次数据库呢 效率上可能比你自己处理还好
Linq可以实现类似数据查询的功能 你可以去看看
没有用SQL语言,直接用的table.Select()
分了几步来完成
其实原理和sql的步骤一样,只是sql只需要一句话
而我只希望在dataTable上进行操作,谢谢各位的帮助!