SQL取出某列最大值的所有记录(行)的一种方法:select count(*) from tb where c > a.c

来源:互联网 发布:java泛型的使用 编辑:程序博客网 时间:2024/05/16 03:08

表tb

A    B    C
------------
1    2    2
1    2    3
1    2    4
2    2    4
3    2    4

c列为最大时的结果集:
1    2    4
2    2    4
3    2    4

有多种方法,其中有:
select a.* from tb a where 1 > (select  count(*)  from tb where c > a.c )



该语句(select  count(*)  from tb where c > a.c )是智能执行的,结果应该是3种情况:

 

当a.c=2时,count(*) =4;
当a.c=3时,count(*) =3;
当a.c=4时,count(*) =0