CREATE TABLE TABLE1(USERNAME VARCHAR2(20),ADDRESS VARCHAR2(20)); INSERT INTO TABLE1 VALUES('张三','北京'); INSERT INTO TABLE1 VALUES('李四','上海'); INSERT INTO TABLE1 VALUES('王五','天津'); COMMIT;SELECT DECODE(USERNAME,'张三','张三','其它') "姓名",COUNT(ADDRESS) "籍贯" FROM TABLE1 GROUP BY DECODE(USERNAME,'张三','张三','其它');
用decode吧 select decode (姓名,‘张三’,1,2)
顺序不对的话在结尾加上order by "姓名" DESC;
这个题的我想意思应该是: 输入一些姓名,求出在全国使用这些名称的人数,以及使用使用其他姓名的人数. 所以: select USERNAME,a from( select USERNAME,count(USERNAME) a from TABLE1 where USERNAME in('张三','李四') group by USERNAME ) union select '其他',(select count(USERNAME) from TABLE1)-(select count(USERNAME) a from TABLE1 where USERNAME in('张三','李四')) from dual只是性能非常低,这种问题我想放在客户端应该更好做
INSERT INTO TABLE1 VALUES('张三','北京');
INSERT INTO TABLE1 VALUES('李四','上海');
INSERT INTO TABLE1 VALUES('王五','天津');
COMMIT;SELECT DECODE(USERNAME,'张三','张三','其它') "姓名",COUNT(ADDRESS) "籍贯" FROM TABLE1 GROUP BY DECODE(USERNAME,'张三','张三','其它');
select decode (姓名,‘张三’,1,2)
输入一些姓名,求出在全国使用这些名称的人数,以及使用使用其他姓名的人数.
所以:
select USERNAME,a
from(
select USERNAME,count(USERNAME) a from TABLE1 where USERNAME in('张三','李四') group by USERNAME
)
union
select '其他',(select count(USERNAME) from TABLE1)-(select count(USERNAME) a from TABLE1 where USERNAME in('张三','李四')) from dual只是性能非常低,这种问题我想放在客户端应该更好做