表T:
  A     B
——————— 
 'AA'   'xx'
 'SS'   'ss'
SQL语句执行结果:
id   A     B        
———————------ 
1   'AA'   'xx'
2   'SS'   'ss'
这是个很有用的sql语句,可以组合解决很多高难的查询
请各位大虾来谈谈sql如何实现,请不要写存储过程
http://expert.csdn.net/Expert/topic/1746/1746682.xml?temp=.3037683

解决方案 »

  1.   

    select count(b.field1) as row,a.field1 from 
    table1 a,
    (select field1 from 省份表 ) b
    where b.field1<=a.field1
    group by a.field1
      

  2.   

    select count(b.field1) as row,a.field1 from 
    table1 a,
    (select field1 from table1) b
    where b.field1<=a.field1
    group by a.field1
      

  3.   

    select count(b.A) as row,a.A,a.B from 
    T a,
    (select A,B from T) b
    where b.A<=a.A 
    group by a.A,a.B
    order by count(b.A)
    这个语句能解决你这个问题,但通用性不强,我再想想。
      

  4.   

    我想到了!!!
    select count(b.A) as row,a.A,a.B from 
    T a,
    (select A,B from T) b
    where (b.A<a.A)
    or (b.A=a.A and b.B<a.B)    
    group by a.A,a.B
    order by count(b.A)这个语句对于两个字段的查询是没问题的,如果多个字段,就要在
    where中增加or的条件如下:
    select count(b.A) as row,a.A,a.B,a.C from 
    T a,
    (select A,B,C from T) b
    where (b.A<a.A)
    or (b.A=a.A and b.B<a.B)    
    or (b.A=a.A and b.B=a.B and b.C<a.C)
    group by a.A,a.B,a.C
    order by count(b.A)
    以此类推...