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
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语法可以实现这种效果:
- select t.name,
- sum(case
- when t.value >= 1 and t.value <= 3 then
- 1
- else
- 0
- end) "1-3",
- sum(case
- when t.value >= 4 and t.value <= 6 then
- 1
- else
- 0
- end) "4-6",
- sum(case
- when t.value >= 7 and t.value <= 10 then
- 1
- else
- 0
- end) "7-10"
- from temp t
- group by t.name
还有其他方法实现么?