问题描述
比如a表今天更新了3条,b表更新了2条,就查出这两张表最近跟新的5条数据,应该怎么写呢?帮个忙谢谢啦
解决方案
解决方案二:
加一个timestamp字段,用groupby查这个字段值最新(max())的就行了。
解决方案三:
select*fromawherea.updated_time>=trunc(sysdate)unionselect*frombwhereb.updated_time>=trunc(sysdate)
解决方案四:
每个表加上一个时间字段,你就可以搜索到一定时间范围的所有数据了;
解决方案五:
不是差固定日期范围内的数据,就是最后更新的几条。
解决方案六:
该回复于2010-11-15 14:20:30被版主删除
解决方案七:
引用4楼dou_ye的回复:
不是差固定日期范围内的数据,就是最后更新的几条。
你这里最新的概念是什么呢?是指的今天的数据还是没有处理的数据?如果是指今天的数据,那么时间戳可以解决这个问题;如果是指最新数据,那么你可以用另外一个表保存你已经处理到了哪里(保存自增的ID或时间戳都可以),
解决方案八:
引用4楼dou_ye的回复:
不是差固定日期范围内的数据,就是最后更新的几条。
原理差不多,你没更新一条数据,随便插入更新的时间,然后根据这个来查。具体2的楼就可以。
解决方案九:
引用7楼qianyecq的回复:
引用4楼dou_ye的回复:不是差固定日期范围内的数据,就是最后更新的几条。原理差不多,你没更新一条数据,随便插入更新的时间,然后根据这个来查。具体2的楼就可以。
如果不想建立新的表格呢?只通过sql语句能实现吗?
解决方案十:
该回复于2010-11-16 13:52:16被版主删除
解决方案十一:
引用楼主dou_ye的回复:
比如a表今天更新了3条,b表更新了2条,就查出这两张表最近跟新的5条数据,应该怎么写呢?帮个忙谢谢啦
你都写了a表“今天”你就是查今天更新的吧?
解决方案十二:
引用8楼dou_ye的回复:
引用7楼qianyecq的回复:引用4楼dou_ye的回复:不是差固定日期范围内的数据,就是最后更新的几条。原理差不多,你没更新一条数据,随便插入更新的时间,然后根据这个来查。具体2的楼就可以。如果不想建立新的表格呢?只通过sql语句能实现吗?
不用建新的表,只是在原来的表加个字段。
解决方案十三:
死脑筋啊,2楼的就有答案了selecttop5from(select*fromaunionselect*fromb)orderbyupdated_timedesc
解决方案十四:
还是啊,搞不懂楼主到底要怎么个查法,2楼的答案不是很明确了嘛。
解决方案十五:
引用12楼gukuitian的回复:
死脑筋啊,2楼的就有答案了SQLcodeselecttop5from(select*fromaunionselect*fromb)orderbyupdated_timedesc
嗯,确实。。。
其他方案:
引用2楼blazingfire的回复:
select*fromawherea.updated_time>=trunc(sysdate)unionselect*frombwhereb.updated_time>=trunc(sysdate)
+1