Mysql

如何按列獲取該組的排名號

  • March 6, 2018

我花了幾個小時試圖解決這個問題,但我做不到。

好吧,我只是有一個表呼叫發票

我有這樣的數據

在此處輸入圖像描述

我想知道每個客戶的總和排名

我該如何存檔?

您可以為此目的使用變數。

select customer_id, total, rank
from (
      select customer_id, total, @rank := @rank + 1 as rank
      from (
            select customer_id, sum(total) total
            from   invoices
            group by customer_id
            order by sum(total) desc
           ) t1, (select @rank := 0) t2
     ) t3
where customer_id = 1;
客戶 ID | 總計| 秩
----------: | ----: | ---:
 1 | 14080 | 2

dbfiddle在這裡

引用自:https://dba.stackexchange.com/questions/199532