oracle 字段范围查询实例

oracle 字段范围查询实例

oralce中有一张表temp,表数据如下
name     value
张三      1
李四      2
王五      5
张三      8
张三      6
李四      7

请问各位大神怎么能将上面的数据 进行统计转换成:

name      1-3  4-6   7-10
张三       1    1     1
李四       1    0     1
王五       0    1     0

统计value值在1-3、4-6、7-10三个区间的数目,按照name分组

 

 

我用case when语法可以实现这种效果:

Sql代码  收藏代码
  1. select t.name,
  2.        sum(case
  3.              when t.value >= 1 and t.value <= 3 then
  4.               1
  5.              else
  6.               0
  7.            end) ”1-3″,
  8.        sum(case
  9.              when t.value >= 4 and t.value <= 6 then
  10.               1
  11.              else
  12.               0
  13.            end) ”4-6″,
  14.        sum(case
  15.              when t.value >= 7 and t.value <= 10 then
  16.               1
  17.              else
  18.               0
  19.            end) ”7-10″
  20.   from temp t
  21.  group by t.name
还有其他方法实现么?

 

本文链接地址: oracle 字段范围查询实例