下面的可以满足你的需求吗? SQL> select * from tab_1; ID ---------- 1 2 3 4 5 66 rows selectedSQL> select * from tab_2; ID VAL_ID ---------- ---------- 1 4 1 2 2 6 2 8 3 9 3 12 4 15 4 11 6 19 6 2010 rows selectedSQL> select a.id,max(b.val_id) 2 from tab_1 a,tab_2 b 3 where a.id=b.id 4 group by a.id 5 ; ID MAX(B.VAL_ID) ---------- ------------- 1 4 2 8 3 12 4 15 6 20
select a.id,b.maxvalue from 表1 a,(select id,max(col) maxvalue from 表2 group by id) b where a.id=b.id;
SELCT A.id,MAX(B.Values) FROM A ,B WHERE A.id = B.id GROUP BY A.id
好了,谢谢大家帮忙。还有一问题,在此处说可能比较方便些(不然,再提一个问题,我又的把这些再重复一遍),是这样的:我如何才能知道符合条件的记录总数,因为用:SELCT count(*) FROM A ,B WHERE A.id = B.id GROUP BY A.id 返回的记录数要大于用:SELCT A.id,MAX(B.Values) FROM A ,B WHERE A.id = B.id GROUP BY A.id也就是说这两个语句的返回记录数不同.该问题如何解决? 再次谢谢大家了。
有一个笨办法不知是否符你的要求: SELECT COUNT(*) FROM (SELECT A.id,MAX(B.Values) FROM A ,B WHERE A.id = B.id GROUP BY A.id)
SQL> select * from tab_1; ID
----------
1
2
3
4
5
66 rows selectedSQL> select * from tab_2; ID VAL_ID
---------- ----------
1 4
1 2
2 6
2 8
3 9
3 12
4 15
4 11
6 19
6 2010 rows selectedSQL> select a.id,max(b.val_id)
2 from tab_1 a,tab_2 b
3 where a.id=b.id
4 group by a.id
5 ; ID MAX(B.VAL_ID)
---------- -------------
1 4
2 8
3 12
4 15
6 20
FROM A ,B
WHERE A.id = B.id
GROUP BY A.id
SELECT COUNT(*) FROM (SELECT A.id,MAX(B.Values)
FROM A ,B WHERE A.id = B.id GROUP BY A.id)