有这样一个字段:
content【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。
【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。
【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。
【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。
【发文提醒】你有XXX发来的《公文标题》需要处理。
【发文提醒】你有XXX发来的《公文标题》需要处理。
【合同提醒】你有XXX发来的《合同标题》需要处理。
【发文提醒】你有XXX发来的《公文标题》需要处理。
【发文提醒】你有XXX发来的《公文标题》需要处理。
【合同提醒】你有XXX发来的《合同标题》需要处理。
我想统计一下,按这样的格式输出:【OA邮件提醒】     4
【发文提醒】      2
【收文提醒】      2

谢谢各位了

解决方案 »

  1.   

    select substr(col,XX),count(*) from table group by substr(col,XX);
      

  2.   

    select substr(content,1,instr(content,'】',1,1))title,
      count(1)
    from tt
    group by substr(content,1,instr(content,'】',1,1))title
      

  3.   

    --分离】之前的字段
    select substr('【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。',1,instr('【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。','】')) from dual
      

  4.   

    select substr(content,1,instr(content,'】',1,1))title, 
      count(1) 
    from tt 
    group by substr(content,1,instr(content,'】',1,1))title
    正解
      

  5.   

    create table content(ctitle varchar2(80));insert into content(ctitle) values ('【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。');
    insert into content(ctitle) values ('【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。');
    insert into content(ctitle) values ('【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。');
    insert into content(ctitle) values ('【OA邮件提醒】你有XXX发来的邮件《邮件标题》需要处理。');
    insert into content(ctitle) values ('【发文提醒】你有XXX发来的《公文标题》需要处理。');
    insert into content(ctitle) values ('【发文提醒】你有XXX发来的《公文标题》需要处理。');
    insert into content(ctitle) values ('【发文提醒】你有XXX发来的《公文标题》需要处理。');
    insert into content(ctitle) values ('【发文提醒】你有XXX发来的《公文标题》需要处理。');
    insert into content(ctitle) values ('【合同提醒】你有XXX发来的《合同标题》需要处理。');
    insert into content(ctitle) values ('【合同提醒】你有XXX发来的《合同标题》需要处理。');SELECT SUBSTR(ctitle,1,INSTR(ctitle,'】',1,1)) title, 
           COUNT(1)
     FROM content 
    GROUP BY SUBSTR(ctitle,1,INSTR(ctitle,'】',1,1));TITLE                  COUNT(1)
    -------------------- ----------
    【合同提醒】                  2
    【OA邮件提醒】                3
    【发文提醒】                  4