使用mysql 8.0 的rank()函數實現排名查詢


MySQL 被吐槽最多的特性之一就是缺少 rank() 函數,當需要在查詢當中實現排名時,必須手寫 @ 變量。但是從 8.0 開始,MySQL 新增了一個叫窗口函數的概念,它可以用來實現若干新的查詢方式。
窗口函數有點像是 SUM()、COUNT() 那樣的集合函數,但它並不會將多行查詢結果合並為一行,而是將結果放回多行當中。也就是說,窗口函數是不需要 GROUP BY 的。

示例:

select *,rank() over w as 'rank' from k_dict window w as (order by dictValue)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM