select top 200 user_id from( SELECT (Row_number() OVER( ORDER BY user_id)) as ix, user_id FROM [xxx].[dbo].t_world_cup_exchange_user_flag_list GROUP BY user_id ) tt where tt.ix > #{index,jdbcType=VARCHAR}主要使用数据库函数,Row_number为返回的结果集生成特定的序列号,利用这个函数就能实现每次用200个不同的用户去请求数据,如从0~200,201~401,401~601... ...这样的序列开始选择自己需要的用户Id,当然在自己的程序需要保存这个index游标的值,并且保持能够循环。
原文:http://blog.csdn.net/figthinbeijing/article/details/33740863