解决方案 »
- 创建表提示出错
- PL/SQL Ddevloper工具无法查看table列表,报字符集错误!~
- 向大家请教一个SQL
- PL/SQL代码问题
- SQL 查询问题。怎么从表里只查询出一组里的一条数据
- 存储过程的状态无效
- 关于ORA-00600: 内部错误代码, 参数: [7999], [300], [], [], [], [], [], []错误
- 关于oracle角色的权限控制问题
- PL/SQL 问题,在线等.(实在是没分了,大家帮帮忙)
- 求教如何知道我的定时任务队列中有哪些任务?
- 批量授权
- ORACLE数据库中sqlldr.exe 工具可以提取出来独立使用么?把与之关联的DLL等文件提取出来,该怎么做?
select 违规类型,
decode(to_char(违规时间,'MM'),'01',count(*)) as '1月',
decode(to_char(违规时间,'MM'),'02',count(*)) as '2月',
......
decode(to_char(违规时间,'MM'),'12',count(*)) as '12月'
from table
group by 违规类型
(
id NUMBER,
c_type VARCHAR2(20),
d_time DATE
);insert into TMP_TEST (ID, C_TYPE, D_TIME) values (1, '违规类型1', to_date('01-05-2012', 'dd-mm-yyyy'));
insert into TMP_TEST (ID, C_TYPE, D_TIME) values (2, '违规类型1', to_date('17-05-2012', 'dd-mm-yyyy'));
insert into TMP_TEST (ID, C_TYPE, D_TIME) values (3, '违规类型1', to_date('01-06-2012', 'dd-mm-yyyy'));
insert into TMP_TEST (ID, C_TYPE, D_TIME) values (4, '违规类型1', to_date('01-08-2012', 'dd-mm-yyyy'));
insert into TMP_TEST (ID, C_TYPE, D_TIME) values (5, '违规类型2', to_date('01-05-2012', 'dd-mm-yyyy'));
insert into TMP_TEST (ID, C_TYPE, D_TIME) values (6, '违规类型2', to_date('01-06-2012', 'dd-mm-yyyy'));
insert into TMP_TEST (ID, C_TYPE, D_TIME) values (7, '违规类型2', to_date('01-08-2012', 'dd-mm-yyyy'));
commit;
查询sql:select c_type,
count(decode(to_char(d_time, 'mm'), '01', 1)) "1月",
count(decode(to_char(d_time, 'mm'), '02', 1)) "2月",
count(decode(to_char(d_time, 'mm'), '03', 1)) "3月",
count(decode(to_char(d_time, 'mm'), '04', 1)) "4月",
count(decode(to_char(d_time, 'mm'), '05', 1)) "5月",
count(decode(to_char(d_time, 'mm'), '06', 1)) "6月"
from TMP_TEST
group by c_type;
select c_type,
count(decode(to_char(d_time, 'mm'), '01', 1,0)) "1月",
count(decode(to_char(d_time, 'mm'), '02', 1,0)) "2月"
from TMP_TEST
group by c_type;