谁能告诉我下这两段SQL的区别。
1) select * from ( select imsi as 用户IMSI,sum(low_dq_num) as 下行质差MR总数 from MR_LOW_DQ_IMSI group by imsi ) where rownum<=100
2) select imsi as 用户IMSI,sum(low_dq_num) as 下行质差MR总数 from MR_LOW_DQ_IMSI where rownum<=100 group by imsi
为什么我用第一句sql能查出100行数据 ,而用第二句就只能查出81行数据
------解决方案--------------------
where rownum<=100
一个是在结果集里面取前100个。
一个是在前100个里面找结果集。
你说有什么不同?
------解决方案--------------------
当然是不一样的。
第一个是:先分组,然后 rownum<=100,这里的条数肯定是100条,
第二个是:先 rownum<=100 再分组,这里的条数肯定是小于等于100条的。
------解决方案--------------------
------解决方案--------------------