Çë½Ì£ºSQLÓï¾ä
ÓÐÈçϼ¸Ìõ¼Ç¼£¬¼Ç¼ͬһ¸öÉÌÆ·Óɲ»Í¬¹©Ó¦ÉÌÔÚ²»Í¬Ê±ÆÚµÄ½ø»õ¼Û¸ñ,DATE×ֶδú±íµÄÊǽø»õ¼Û¸ñÆðʼÈÕ£º
table½á¹¹ÈçÏ£º
date price vendor
20100101 10.00 A
20100321 12.00 A
20100425 9.00 A
20100209 10.00 B
½ñÌìÊÇ4ÔÂ2ÈÕ£¬ÎÒÈçºÎÄÜÈ¡µ½Ä¿Ç°¸÷¸ö¹©Ó¦É̵Ľø»õ¼Û¸ñÄØ?
20100209 10.00 B
20100321 12.00 A
лл¸÷λÀ²~~
select *
from (
select t.*, row_number() over(partition by vendor order by date desc) rn from t where date < sysdate
)
where rn = 1;
select "date",price ,vendor
from (
select t.*, row_number() over(partition by vendor order by "date" desc) rn from t where "date"< sysdate
)
where rn = 1;
ѧϰÁË thankyou
Ïà¹ØÎÊ´ð£º
Ö´ÐеÄ˳Ðò£º
1£©Îļþä¯ÀÀ¿ò£¨Ñ¡ÔñÎļþʹÓã©
Ñ¡ÔñºÃÎļþºó
µã»÷Ò»¸öµ¼Èë°´Å¥µÄʱºò £¬°ÑÉÏÃæÉÏ´«¿òÀïµÄcsvÎļþÒÔÒ»¸öIDΪÎļþÃû£¬ÉÏ´«µ½**/**Îļþ¼ÐÏÂ
2£©¶ÁÈ¡Õâ¸öÎļþ¼ÐϵÄcsvµÄÎļþ£¬×ª»»³Ésql
3 ......
select convert(varchar(50),cast(convert(numeric(18,2),1275674000000/100000000)as real))+'ÒÚ'
select cast(convert(numeric(18,2),1275674000000/100000000)as real)
ΪʲôÉÏÒ»¸öÓÃvarcharת»»ºó¾ÍÖ»±£ÁôÁËÒ ......
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
СµÜ£¬×î½üҪתÐÐÈ¥×öoracle¿ª·¢ÁË£¬ÓÉÓÚ´óѧ±Ïҵʱ£¬×ßÁ˸öÍä·£¬ÏÖÔÚºÜСÐÄ£¬ÎÊÏ£¬×öPL/SQLÓÐûÓÐǰ;£¿£¿£¿
µ±È»ÎÒ˵µÄÕâ¸öǰ;ÊÇÖ¸ ÒÔºóÒªÌø²Û£¬Êг¡¶ÔÕâÑùµÄÈ˲ŵÄÐèÇóÁ¿´ó²»´ó£¿£¿
3q ÄÇ¿´À´»¹Ö»ÄÜÏȽӴ ......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......