sqlÓï¾äÓÅ»¯
ORACLEÖÐÓõ½ÈçÏÂÓï¾ä£º
select A,B,C from tableName where
TO_CHAR(A,'yyyy-MM-dd') like '2009-11-09' and B = '600' and A = (select max(A) from tableName where B = '600')
or TO_CHAR(A,'yyyy-MM-dd') like '2009-11-09' and B = '603' and A = (select max(A) from tableName where B = '603')
or TO_CHAR(A,'yyyy-MM-dd') like '2009-11-09' and B = '606' and A = (select max(A) from tableName where B = '606')
or TO_CHAR(A,'yyyy-MM-dd') like '2009-11-09' and B = '609' and A = (select max(A) from tableName where B = '609')
or TO_CHAR(A,'yyyy-MM-dd') like '2009-11-09' and B = '611' and A = (select max(A) from tableName where B = '611')
ÉÏÊö´úÂëÖУ¬Öظ´²¿·Ö±È½Ï¶à£¬ÄÜ·ñ¼ò»¯£¿£¿
SQL code:
select t.* from tableName t where b in ('600','603','606','609','611') and a = (select max(a) from tableName where b in ('600','603','606','609','611') and b = t.b)
select t.* from tableName t where b in ('600','603','606','609','611') and not exists (select 1 from tableName where b in ('600','603','606','609','611') and b = t.b and a > t.a)
TO_CHAR(A,'yyyy-MM-dd') ='2009-11-09'
±íÃûÊÇtableName
A &
Ïà¹ØÎÊ´ð£º
±íÈçÏÂ
½ÌÊÒID ×ùλÊý ¿ªÊ¼Ê±¼ä ½áÊøÊ±¼ä 2009Äê1ÔÂ1ÈÕ 2009Äê1ÔÂ2ÈÕ 2009Äê1ÔÂ3ÈÕ
101 50 08£º00 08£º30 30 40 50
101 50 09£º00 ......
ÇëÎÊһϣ¬ÍâÍøÁ½Ì¨SQLSERVERʵÀýÊý¾Ý´«Ê䣬ÓÐûÓвÉÓÃÊý¾ÝѹËõºÍ¼ÓÃÜ¡£Ñ¹Ëõ±ÈÊǶàÉÙ£¬¼ÓÃÜÊÇʲô¼ÓÃÜËã·¨£¿Ïà¹ØÎĵµÄÄÀï¿ÉÒÔÕÒµ½£¿Ð»Ð»
ÎÒÒ²ÏëÖªµÀ£¡¹Ø×¢´ËÌù£¡
¹Ø×¢¡«¡«
Êý¾Ý¿â´óÅ£¶¼ÄÄÈ¥Á˰¡£¿
......
ÏÖÔÚÓÐa1,a2Á½±í
a1
id name aa cc
001 aaaa bbb cc
002 bbb bbb bbb
003 ccc ccc ccc
004 ddd ddd ddd
005 eee eee eee
a2
id ida2 ff b ......
A±í B±í
WZID WZJG WZID CKID WZSL
ÏÖÔÚÒª²é¶ÔÓ¦µÄÿһ¸öCKIDϵÄ×ܵĽð¶î
¾ÍÊÇÏȲéÿ¸öWUIDÔÚB±íÀïµÄÊýÁ¿£¬È»ºóÓÃWZJG*sum(wzsl)£¬È»ºóÔÙ°´ÕÕÿ¸ ......
Ò»Õűítable×Ö¶ÎF1ºÍF2
F1 F2
1 a
2 ......