select distinct a.city,b.par_id from a ,b where a.province=b.pro_name;
这条sql语句是如何执行的??是先根据a.province=b.pro_name找出所有的记录(也就是笛卡儿集),然后重记录中去重复??

解决方案 »

  1.   

    分组:select distinct a.city,b.par_id from a ,b where a.province=b.pro_name Group By a.city,b.par_id;
      

  2.   

    为什么要用group by????还有,我还想知道那条sql如何执行、??
      

  3.   

    Group By --分组。对Select的字段
    Distince --我的理解是“取唯一”,而不是去除重复。
      

  4.   

    我认为,group by 与distinct执行效果一样,所以执行顺序应该是:1. where
    2. distinct.
      

  5.   

    1先执行 where 

    如果有order by 或者 group by 。having语句3再distinct
    distinct就是去除结果集中的重复记录