Oracle10g 是否可以按某些值进行分组?
我有一个具有以下值的oracle数据库表Oracle10g 是否可以按某些值进行分组?,oracle10g,Oracle10g,我有一个具有以下值的oracle数据库表 +------+--------+ | id | Name | +------+--------+ | 0 | One | | 1 | Two | | 2 | Three | | 3 | four | | 4 | One | | 5 | One | | 6 | Two | | 7 | five | +------+--------+ 我想数一数名为“一”、“
+------+--------+
| id | Name |
+------+--------+
| 0 | One |
| 1 | Two |
| 2 | Three |
| 3 | four |
| 4 | One |
| 5 | One |
| 6 | Two |
| 7 | five |
+------+--------+
我想数一数名为“一”、“二”的行数,其余的行数。
结果集应该是
+------+--------+
| name | count |
+------+--------+
| One | 3 |
+------+--------+
| Two | 2 |
+------+--------+
| Rest| 3 |
+------+--------+
有什么帮助吗
select
case name
when 'One' then 'One'
when 'Two' then 'Two'
else 'Rest'
end name,
count(*)
from
my_table
group by
case name
when 'One' then 'One'
when 'Two' then 'Two'
else 'Rest'
end
避免重复:
select
name,
count(*)
from (
select
case name
when 'One' then 'One'
when 'Two' then 'Two'
else 'Rest'
end name
from
my_table)
group by
name
避免重复:
select
name,
count(*)
from (
select
case name
when 'One' then 'One'
when 'Two' then 'Two'
else 'Rest'
end name
from
my_table)
group by
name
我会选择Case而不是Decode()--它符合ANSI标准,更灵活,具有短路求值功能,并以更符合SQL的方式处理空值。我会选择Case而不是Decode()--它符合ANSI标准,更灵活,具有短路求值功能,并以更符合SQL的方式处理空值。