A表
mm rq
201001 2010-01-01
201001 2010-01-02
201001 2010-01-03
201001 2010-01-04
201001 2010-01-05
201001 2010-01-06
201001 2010-01-07
201002 2010-02-01
201002 2010-02-02
201002 2010-02-03
201002 2010-02-04
201002 2010-02-05
201002 2010-02-06
201002 2010-02-07
select * from a ----------- group by mm
每个月随机选择两天
------解决思路----------------------
select * from (select *,row_number()over(order by newid()) as n from a ) as t
where n<3
------解决思路----------------------
如果表中的mm字段是日期的年月组成的字符,那sql可以这样写。
select id from (
select *,row_number() over(partition by mm order by newid()) as rid from A
) B where rid<3