select item,price from tab_name where date=(select max(date) from tab_name group by item);
解决方案 »
- 请教:存储过程返回结果集
- ava.sql.SQLException: OALL8 is in an inconsistent state.错误呀
- oracle 十六进制字符怎么转为中文???急啊,多分跪求
- 关于过程或者函数的参数
- 求SQL语句
- sql
- 游标没关闭会导致数据库内存泄露吗?数据库服务器每天掉100内存,晕!
- 再PL/SQL中,能否再出现异常后,处理相应的异常,然后程序继续运行后面的代码吗?我在编成中发现,只要已发生一个异常,程序就全部结束了
- PLSQL Developer创建新的Table时报错,“无效的表分区方法",请问是什么原因啊
- Oracle语句运行速度很慢
- 登录oracle时出错
- ora-01653:表xxx无法通过128(在表空间xxx中)扩展
---- ------- -----------
AA 3.56 2004-3-26 9
AA 3.45 2004-3-27 9
BB 4.56 2004-3-26 9
BB 5.56 2004-3-27 9
BB 6.56 2004-3-21 9SQL> select item,price,drq from tb_test where drq in (select max(drq) from tb_test group by item);ITEM PRICE DRQ
---- ------- -----------
AA 3.45 2004-3-27 9
BB 5.56 2004-3-27 9
ITEM PRICE
AA 3.45
BB 2.12
不是把日期最近的数据求出~~~~
---------- ----------
AA 3.46
BB 5.56
看看这个对不??
select a.item ,a.price
from a a,a b
where a.item = b.item and
a.date = max(b.date)
以为如果是:
select item,price,drq from tb_test where drq in (select max(drq) from tb_test group by item);
假设:
当AA的最新价格是昨天的(今天没有变化不用更新)
BB的最新价格是今天的.
表内数据如下:
ITEM PRICE DRQ
---- ------- -----------
AA 3.56 2004-3-26 9
BB 4.56 2004-3-26 9
BB 5.56 2004-3-27 9
BB 6.56 2004-3-21 9那么用这个语句就会选出这样的结果
ITEM PRICE DRQ
---- ------- -----------
AA 3.56 2004-3-26 9
BB 4.56 2004-3-26 9
BB 5.56 2004-3-27 9请思考!还是beckhambobo(beckham)的语句正确.
select item,price from tb_test where (item,drq) in (select item,max(drq) from tb_test group by item);
select item,price from tb_test where (item,drq) in (select item,max(drq) from tb_test group by item);
和
SELECT * FROM TEST T WHERE (T.ITEM,T.DATE1) IN (SELECT ITEM,MAX(DATE1) FROM TEST GROUP BY ITEM)
不过这也太慢了吧! 应该是下面这句:select item,price,mydate from test t where mydate=(select max(mydate) from te
st where item=t.item);