??假設表格為student, 數據如下:
??我們要在mysql中實現oracle中的rank()函數功能,即組內排序,具體來說: 就是對student表中按照課程(course)對學生(name)按分數(score)高低進行排名。
??首先新建存儲過程realize_rank_in_MySQL,代碼如下:
DROP?PROCEDURE?IF?EXISTS?realize_rank_in_MySQL; DELIMITER?;; CREATE?PROCEDURE?realize_rank_in_MySQL() BEGIN ????DECLARE?i?int; ????SET?i?=?0; ????WHILE?i?<p>然后輸入以下查詢語句即可:</p><pre class="brush:sql;toolbar:false;">drop?table?if?exists?student_rank; create?table?student_rank?like?student; alter?table?student_rank?add?rank?int; call?realize_rank_in_MySQL; select?*?from?student_rank;
??結果如下:
注意:這里的排名并沒有實現分數相同時排名也一樣的情形。
相關文章:
相關視頻:
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END