正好没啥事,随便帮你写了点,凑合着看看吧~~ var stuList = new List<Stu>(); Enumerable.Range(1, 50).ToList().ForEach(x => stuList.Add(new Stu { No = x })); int classNo = 0; stuList.OrderBy(x => Guid.NewGuid()).ToList().ForEach(x => x.ClassNo = classNo++ >= 5 ? classNo -= 5 : classNo); stuList.GroupBy(x => x.ClassNo).ToList().ForEach(o=> { int seatNo = 0; o.OrderBy(x => Guid.NewGuid()).ToList().ForEach(x => x.SeatNo = seatNo++ >= 10 ? seatNo -= 10 : seatNo); });public class Stu { public int No { get; set; } public int ClassNo { get; set; } public int SeatNo { get; set; } }
IF object_id('test') IS NOT NULL DROP TABLE test go CREATE TABLE test (id INT IDENTITY(1,1),A1 varchar (50),A2 varchar (50),A3 varchar (50),A4 varchar (50),A5 varchar (50)) go INSERT INTO test SELECT NEWID(),NEWID(),NEWID(),NEWID(),NEWID() go 10 SELECT * FROM dbo.test ORDER BY id ASC先发到数据里面在处理吧
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
var stuList = new List<Stu>();
Enumerable.Range(1, 50).ToList().ForEach(x => stuList.Add(new Stu { No = x }));
int classNo = 0;
stuList.OrderBy(x => Guid.NewGuid()).ToList().ForEach(x => x.ClassNo = classNo++ >= 5 ? classNo -= 5 : classNo);
stuList.GroupBy(x => x.ClassNo).ToList().ForEach(o=>
{
int seatNo = 0;
o.OrderBy(x => Guid.NewGuid()).ToList().ForEach(x => x.SeatNo = seatNo++ >= 10 ? seatNo -= 10 : seatNo);
});public class Stu
{
public int No { get; set; }
public int ClassNo { get; set; }
public int SeatNo { get; set; }
}
go
CREATE TABLE test (id INT IDENTITY(1,1),A1 varchar (50),A2 varchar (50),A3 varchar (50),A4 varchar (50),A5 varchar (50))
go
INSERT INTO test SELECT NEWID(),NEWID(),NEWID(),NEWID(),NEWID()
go 10
SELECT * FROM dbo.test ORDER BY id ASC先发到数据里面在处理吧