比如查询select * from merger_1 where  gridID in (123,3453,34643 ) union all select * from merger_2 where  gridID in (123,3453,34643 ) union all select * from merger_3 where  gridID in (123,3453,34643 ) union all select * from merger_4 where  gridID in (123,3453,34643 ) union all select * from merger_5 where  gridID in (123,3453,34643 )
我想知道这个查询的   结果集有多少!

解决方案 »

  1.   

    select count(*) from (
    select * from merger_1 where  gridID in (123,3453,34643 ) 
    union all 
    select * from merger_2 where  gridID in (123,3453,34643 ) 
    union all 
    select * from merger_3 where  gridID in (123,3453,34643 ) 
    union all 
    select * from merger_4 where  gridID in (123,3453,34643 ) 
    union all 
    select * from merger_5 where  gridID in (123,3453,34643 )
    ) t
      

  2.   

    或者在执行完
    select * from merger_1 where  gridID in (123,3453,34643 ) 
    union all 
    select * from merger_2 where  gridID in (123,3453,34643 ) 
    union all 
    select * from merger_3 where  gridID in (123,3453,34643 ) 
    union all 
    select * from merger_4 where  gridID in (123,3453,34643 ) 
    union all 
    select * from merger_5 where  gridID in (123,3453,34643 )后直接 SELECT FOUND_ROWS(); 
    
      

  3.   

    结果集只有一个,你是要记录数吧
    select count(*) from (
    select * from merger_1 where  gridID in (123,3453,34643 ) union all select * from merger_2 where  gridID in (123,3453,34643 ) union all select * from merger_3 where  gridID in (123,3453,34643 ) union all select * from merger_4 where  gridID in (123,3453,34643 ) union all select * from merger_5 where  gridID in (123,3453,34643 ) ) a