2017-07-27 50 views
1

我們有490名學生 我們的每間教室 即20個學生能力,我們有二十零分之四百九十= 24.5即25節 首先我要安排學生按字母順序 其次我想打一個含有 id_classroom和id_student表屬性 我的問題是在id_classroom和如何填充它 從1至20 === id_classroom從21至40 === = 1名 學生id_classroom = 2 如何可以自動給這個 學生等等計數和宋衍濤結構

謝謝你提前

回答

0

在你的SQL RESQUEST中,函數FLOOR是你的朋友。 它所做的是將您的數量減少到小於或等於該表達式的最大整數。

比方說,你有一個學生證46 的操作是這樣的:

46-1= 45  //index starts at 1 instead of 0. 
45/20=2.25 
Floor(2.25)=2 
2+1=3 

所以,你的SQL會在它的東西如此:

id_classroom=FLOOR((id_student-1)/20)+1 
+0

由於學生證的似乎是基於一個,這將是'樓((id_student - 1)/ 20)+ 1'。 – HABO

+0

謝謝,我可能忽略了那個細節(-1)。 –

+0

請問,爲什麼你加-1? –

0

沒有測試這,我只是想到了:) 編輯:只是注意到這是在SQL不C#論壇。不知道如果仍然有用。

TotalStudents = 490; 
MaxCap = 20; 
RoomID = 0; 
Dictionary<RoomID, MaxCap>() StudentsAndRooms = new Dictionary(); 

void PopulateRoom(Dictionary<int,int> myD) 
{ 
myD = StudentsAndRooms; 

for(int i = 0; i < TotalStudents; i++) 
{ 
if(myD[RoomID].Value.Count <= MaxCap) 
{ 
myD[RoomID] = myD[RoomID +1] 
Debug.Log("Added Room"); 
} 
else if(myD[RoomID].Value.Count != MaxCap) 
{ 
myD[RoomID] +=1; 
Debug.Log("Added Student"); 
} 
else 
{ 
Debug.Log("Something went wrong!"); 
} 
} 


void Start() 
{ 
PopulateRoom(StudentsAndRooms); 
}