[請益] 分別找出學生成績為幾天新高
目前有個成績表會記錄300個學生每天的成績
目前我想做像下方這樣呈現
學生姓名 成績為幾天新高分
學生A 5
學生B 32
學生C 18
學生D 3
............................
請問大家這樣會如何做到上述的結果呢?
初步我是想說用迴圈跑三百個學生
而每個學生又再從最近的日期開始往前推去跑迴圈判讀如下
do{
$sql="SELECT nameid FROM (SELECT grade, nameid FROM gradelist
where nameid=迴圈學生id and kdate=今天) a1
LEFT JOIN (SELECT MAX(grade) as MaxGrade, nameid FROM gradelist
where nameid=迴圈學生id and kdate<=今天 and kdate>=每天日期
group by nameid) a2 ON a1.nameid=a2.nameid
where a1.grade=ab2.MaxGrade";
}while(所有學生的迴圈);
當選出來為0筆的時候就終止迴圈,代表已經找到某學生成績為幾天的新高
然後再跑下一位學生的數據
感覺是不太聰明的做法,因為假設日期有300天好了
這樣迴圈就要跑300學生*300天=9000個
不曉得是否有其他的做法可以做得到呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.235.190.240
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1449359289.A.252.html
推
12/06 12:00, , 1F
12/06 12:00, 1F
→
12/06 12:01, , 2F
12/06 12:01, 2F
→
12/06 12:01, , 3F
12/06 12:01, 3F
※ 編輯: jami520 (182.235.190.240), 12/06/2015 12:23:14
→
12/06 12:23, , 4F
12/06 12:23, 4F
→
12/06 12:25, , 5F
12/06 12:25, 5F
→
12/06 12:25, , 6F
12/06 12:25, 6F
推
12/06 19:53, , 7F
12/06 19:53, 7F
→
12/06 19:54, , 8F
12/06 19:54, 8F
→
12/06 19:55, , 9F
12/06 19:55, 9F
→
12/06 19:56, , 10F
12/06 19:56, 10F
推
12/06 20:00, , 11F
12/06 20:00, 11F
→
12/06 22:59, , 12F
12/06 22:59, 12F
→
12/06 23:00, , 13F
12/06 23:00, 13F
推
12/06 23:12, , 14F
12/06 23:12, 14F
→
12/07 12:38, , 15F
12/07 12:38, 15F
→
12/07 12:39, , 16F
12/07 12:39, 16F
→
12/07 12:39, , 17F
12/07 12:39, 17F
→
12/07 12:39, , 18F
12/07 12:39, 18F
推
12/07 12:52, , 19F
12/07 12:52, 19F
→
12/07 12:52, , 20F
12/07 12:52, 20F
→
12/07 13:03, , 21F
12/07 13:03, 21F
→
12/07 13:04, , 22F
12/07 13:04, 22F
推
12/07 13:11, , 23F
12/07 13:11, 23F
推
12/07 13:13, , 24F
12/07 13:13, 24F
→
12/07 13:17, , 25F
12/07 13:17, 25F
→
12/07 23:09, , 26F
12/07 23:09, 26F
→
12/07 23:10, , 27F
12/07 23:10, 27F
→
12/07 23:10, , 28F
12/07 23:10, 28F
→
12/07 23:11, , 29F
12/07 23:11, 29F
→
12/07 23:12, , 30F
12/07 23:12, 30F
→
12/07 23:12, , 31F
12/07 23:12, 31F
→
12/07 23:14, , 32F
12/07 23:14, 32F
→
12/08 16:39, , 33F
12/08 16:39, 33F
→
12/08 22:46, , 34F
12/08 22:46, 34F
→
12/11 14:02, , 35F
12/11 14:02, 35F
推
12/17 09:43, , 36F
12/17 09:43, 36F
→
12/17 09:44, , 37F
12/17 09:44, 37F
→
12/17 09:44, , 38F
12/17 09:44, 38F
→
12/17 09:44, , 39F
12/17 09:44, 39F
討論串 (同標題文章)