- 论坛徽章:
- 0
|
sql问题,分组查询功能的实现?
哎,原来的写法竟然是正确的,只是没注意到其中的一个细节,多加了一对括号1。select * from test_table where (b,c) in ( select (b,max(c)) from test_table group by b) and a=2;今早又试了oldunix大哥的方法均可行,在这里有一个疑惑, 还是sql语句清淡的缘故,下列语句都是在实际环境中运行的结果:
SQL>; select * from offeringloan where financecode=37711020113;
FLOWNO FINANCECODE BORROWERCODE CU LOANSUM
13170110001460 37711020113 15330980-X 01 120000
13170110001464 37711020113 74489235-5 01 3000000
13170110001424 37711020113 72853567-3 01 100000
13170110001423 37711020113 72853567-3 01 130000
13170110001465 37711020113 74489235-5 01 1000000
SQL>; select * from offeringloan where financecode=37711020113 and ((borrowercode,loansum) in (select borrowercode,max(loansum) from offeringloan group by borrowercode));
FLOWNO FINANCECODE BORROWERCODE CU OANSUM
13170110001423 37711020113 72853567-3 01 130000
为啥只能选出一条呢? 应该有三条记录啊,我又不知道我那里的脑筋出了问题。
还是继续赐教中吧。 |
|