<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      mysql中對于排名函數的具體介紹

      [摘要]對MySQL數據表中的某一字段進行排名1.原始的表數據如下圖。done_seconds為完成的時間,需求為根據該字段來對每條數據進行排名。2.輸入以下SQL語句:SELECT A.*,@rank:=...
      對MySQL數據表中的某一字段進行排名


      1.原始的表數據如下圖。done_seconds為完成的時間,需求為根據該字段來對每條數據進行排名。

      1.png


      2.輸入以下SQL語句:

      SELECT A.*,@rank:=@rank+1 AS pm FROM (SELECT * FROM task_news_user_done_list ORDER BY done_seconds) A, (SELECT  @rank:=0) B

      2.png

      3.執行該條語句后,查詢出來的結果中,加入了pm字段。該字段的值就是根據done_seconds進行排序的結果。注意,升序,降序的問題。

      3.png

      4.除了單個字段外,還可以對平均值進行排序。如對上表中相同user_email的done_seconds的平均值進行排序,可用以下sql語句:

      SELECT A.*,@rank:=@rank+1 AS pm 
      FROM 
      (SELECT user_email, AVG(done_seconds) AS done_seconds FROM task_news_user_done_list GROUP BY user_email ORDER BY done_seconds) A, (SELECT  @rank:=0) B

      4.png

      5.排序后結果如下圖。此時的排名就是所有相同user_email的done_seconds進行的平均值排名。

      5.png


      6.當然還可以根據需要加入where等限制條件。如下圖。

      覺得有用的點下贊。

      6.png


      以上就是mysql中關于排名函數的具體介紹的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清