title: group by range in mysql
body: <pre><code>Table:   
  new_table                                                    
  user_number  | diff                  
       2       |  0                      
       1       |  28  
       2       |  32  
       1       |  40  
       1       |  53  
       1       |  59  
       1       |  101  
       1       |  105  
       2       |  108  
       2       |  129  
       2       |  130    
       1       |  144  
  
  
              |(result)
              v
  
  range  | number of users  
  0-20   |  2  
  21-41  |  3  
  42-62  |  1  
  63-83  |  2  
  84-104 |  1  
  105-135|  0  
  136-156|  3
  
  
  select t.range as [range], count(*) as [number of users]  
  from (  
    select case    
      when diff between 0 and 20 then ' 0-20'  
      when diff between 21 and 41 then ' 21-41'  
      when diff between 42 and 62 then ' 42-62'  
      when diff between 63 and 83 then ' 63-83'  
      when diff between 84 and 104 then ' 84-104'  
      when diff between 105 and 135 then ' 105-135'  
      else '136-156'   
       end as range  
    from new_table) t  
  group by t.diff  
  
  Error:
  
  You have an error in your SQL syntax, near '[range], count(*) as [number of users]  
  from (  
    select case  
      when' at line 1  
  </code></pre>