MYSQL中,CAST函數的使用規則


首先看一下它的定義:

INTERVAL(N,N1,N2,N3,..........)

INTERVAL()函數進行比較列表(N1,N2,N3等等)中的N值。該函數如果N<N1返回0,如果N<N2返回1,如果N<N3返回2 等等。如果N為NULL,它將返回-1。列表值必須是N1<N2<N3的形式才能正常工作。

下面的代碼是顯示 INTERVAL()函數如何工作的一個簡單的例子:

mysql>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10);
+---------------------------------------------------------+
| INTERVAL(6,1,2,3,4,5,6,7,8,9,10)                        |
+---------------------------------------------------------+
| 6                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

結果中,6是從零開始的索引,列表第一個值的值大於N. 在我們的例子中,6 屬於 [6,7) ,所以返回第6個索引

(另 INTERVAL 還是日期計算的關鍵字)


-------------------------------------------- 定義結束分割線 --------------------------------------------


好,下面看一個使用 INTERVAL 實現數據分組的示例

假設有一個下載速度表(有 speed 和 count 兩個字段),

然后統計1M,2M,4M,8M,8M以上這個5個速度區間的個數


   
   
  
  
          
  1. select INTERVAL(speed, 1000, 2000, 4000, 8000) as i_s, sum( count)
  2. from a_speed_table
  3. group by i_s

上面的 sql 根據速度區間分組,再對不同區間出現的次數求和

原文地址:https://www.cnblogs.com/yangchunze/p/6667502.html


免責聲明!

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



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