select top 3 from table order by id;
这个语句肯定不会出现错误
select top 3 from table order by column
这个语句就可能出现错误了
错误的原因是colunm本身可能有重复的数据,就是说是一样的数据,字段值是一样的,这样sql就没法判断哪个才是第一,哪个第二,所以top的说法也就不存在了,这就导致,相同的数据重复出现,就可能多出几条数据。
但是用id就不一样了,用id肯定不会有重复的数据,所以肯定不会出现问题,这就是问题的根本。