SQL分组随机取数据
KID A1 A2
nc_1325038022110925.062793.30
nc_1325038022110925.063990.42
nc_1325038022110925.063990.42
nc_1325038022114225.063990.42
nc_1325038022114225.063990.42
nc_1325038022114225.062793.30
nc_1325038022118625.062793.30
nc_1325038022118625.063990.42
nc_1325038022118825.063990.42
nc_1325038022118825.062793.30
nc_1325038022118825.063990.42
nc_1325038022118925.062793.30
nc_1325038022119325.062793.30
nc_1325038022119325.063990.42
nc_1325038022119325.063990.42
nc_1325038022119525.062793.30
nc_1325038022119525.063990.42
nc_1325038022119525.063990.42
nc_1325038022130116.553021.15
nc_1325038022130116.553021.15
如例子,要按照KID分组,分组后,每组随机取一条记录
[解决办法]
select distinct b.*from tb across apply (select top 1 * from tb where kid=a.kid order by newid())b