A 表 
          guid                 lob   Date 
2a30e004-aa3c-48a6-9d70-4236ed437e2c  MB 2009/11/10 
6b086716-a6b5-45b8-a48c-39f54fb8c346  VGA 2009/7/10 
b48c7ad2-c6e9-45c6-84e5-af464b1b5620  MB 2009/6/11 
ed67cc9a-c572-4e54-a324-e79c23163aca  MB 2009/11/18 
8b0d1d09-6ccd-4db0-af65-79b819f37930  MB 2009/2/10 
f8c46899-9ee7-4523-a3bb-1df46f24ca76  BB  2009/9/14 
a52081e9-eda0-41ea-b8d9-8c918a418b24  MB 2009/3/10 
8b592f31-9566-4102-81fa-806fc1c41806  MB  2009/4/10 
74ccafa1-d137-49dd-8912-b6a19ff9e68b  DD 2009/11/1 
20aea0d7-a9e1-4bb5-9766-204ca4c04ce4  MB 2009/11/19 
6969351d-b669-4ef5-8a6f-d0f197be7946  MB  2009/2/10  
d03f5e13-d4e2-42d2-9ab2-d79f05052bbb  CC 2008/11/16 
e1558437-e99d-45fa-89c6-0287ae2198ba  MB 2009/5/12 
49089929-2fbd-4879-9e07-f3e5000744fd  EE 2008/8/9 
      查詢條件 為: Date=2009年 + lob=MB 
  需要得到的結果為: A表      
Date lob lob數量 
1月 MB 0 
2月 MB 1 
3月 MB 1 
4月 MB 1 
5月 MB 1 
6月 MB 1 
7月 MB 0 
8月 MB 0 
9月 MB 0 
10月 MB 0 
11月 MB 3 
12月 MB 0 
              如果該月沒有資料 需用 0 表示            謝謝

解决方案 »

  1.   

    select to_char(Date , 'mm') || '月' as Date,lob ,count(lob)
    from A
    where lob  ='MB'
      

  2.   

    忘了写group by!
    下面加上group by to_char(Date , 'mm')
      

  3.   

    group by to_char(Date , 'mm'),lob 不好意思group by又少写了
      

  4.   

    11:02:05 tina@PRACTICE> select * from A;GUID                                     LOB   date
    ---------------------------------------- ----- ----------
    2a30e004-aa3c-48a6-9d70-4236ed437e2c     MB    2009/11/10
    6b086716-a6b5-45b8-a48c-39f54fb8c346     VGA   2009/7/10
    b48c7ad2-c6e9-45c6-84e5-af464b1b5620     MB    2009/6/11
    ed67cc9a-c572-4e54-a324-e79c23163aca     MB    2009/11/18
    8b0d1d09-6ccd-4db0-af65-79b819f37930     MB    2009/2/10
    f8c46899-9ee7-4523-a3bb-1df46f24ca76     BB    2009/9/14
    a52081e9-eda0-41ea-b8d9-8c918a418b24     MB    2009/3/10
    8b592f31-9566-4102-81fa-806fc1c41806     MB    2009/4/10
    74ccafa1-d137-49dd-8912-b6a19ff9e68b     DD    2009/11/1
    20aea0d7-a9e1-4bb5-9766-204ca4c04ce4     MB    2009/11/19
    6969351d-b669-4ef5-8a6f-d0f197be7946     MB    2009/2/10
    d03f5e13-d4e2-42d2-9ab2-d79f05052bbb     CC    2008/11/16
    e1558437-e99d-45fa-89c6-0287ae2198ba     MB    2009/5/12
    49089929-2fbd-4879-9e07-f3e5000744fd     EE    2008/8/9已选择14行。已用时间:  00: 00: 00.01
    11:02:09 tina@PRACTICE> select b.id||'月' "Date",nvl(lob,'MB') lob,nvl(num,0) lob数量 from
    11:02:19   2  (select cast(to_char(to_date("date",'yyyy/mm/dd'),'mm') as int) id,count(1) num,lob from a where to_char(to_date("date",'yyyy/mm/dd'),'yyyy') = '2009' and lob = 'MB' group by lob,to_char(to_date("date",'yyyy/mm/dd'),'mm')) a,
    11:02:19   3  (select rownum id from dual connect by rownum < 13) b
    11:02:19   4  where a.id(+) = b.id order by b.id;Date                                       LOB      LOB数量
    ------------------------------------------ ----- ----------
    1月                                        MB             0
    2月                                        MB             2
    3月                                        MB             1
    4月                                        MB             1
    5月                                        MB             1
    6月                                        MB             1
    7月                                        MB             0
    8月                                        MB             0
    9月                                        MB             0
    10月                                       MB             0
    11月                                       MB             3
    12月                                       MB             0已选择12行。已用时间:  00: 00: 00.03
      

  5.   

    其中date字段假设是varchar的情况,如果本身就是date类型的话,就不需要to_date()类型转换了。
      

  6.   

    我測試了下   是正確的   謝謝你了   對了 如果不限制LOB   可以嗎
      

  7.   

    不限制LOB  是什么意思?举个例子说明一下
      

  8.   

    是每个lob都要显示1-12月份的数据吗?最好给点测试数据和你想要的结果。
      

  9.   


      對,是的 就是顯示所有lob 1-12月份 的數據。 
       測試數據是一樣的 結果只不過是顯示所有LOB的 1-12月份 
      

  10.   

    16:40:03 tina@PRACTICE> select * from A;GUID                                     LOB   date
    ---------------------------------------- ----- ---------------
    2a30e004-aa3c-48a6-9d70-4236ed437e2c     MB    2009/11/10
    6b086716-a6b5-45b8-a48c-39f54fb8c346     VGA   2009/7/10
    b48c7ad2-c6e9-45c6-84e5-af464b1b5620     MB    2009/6/11
    ed67cc9a-c572-4e54-a324-e79c23163aca     MB    2009/11/18
    8b0d1d09-6ccd-4db0-af65-79b819f37930     MB    2009/2/10
    f8c46899-9ee7-4523-a3bb-1df46f24ca76     BB    2009/9/14
    a52081e9-eda0-41ea-b8d9-8c918a418b24     MB    2009/3/10
    8b592f31-9566-4102-81fa-806fc1c41806     MB    2009/4/10
    74ccafa1-d137-49dd-8912-b6a19ff9e68b     DD    2009/11/1
    20aea0d7-a9e1-4bb5-9766-204ca4c04ce4     MB    2009/11/19
    6969351d-b669-4ef5-8a6f-d0f197be7946     MB    2009/2/10
    d03f5e13-d4e2-42d2-9ab2-d79f05052bbb     CC    2008/11/16
    e1558437-e99d-45fa-89c6-0287ae2198ba     MB    2009/5/12
    49089929-2fbd-4879-9e07-f3e5000744fd     EE    2008/8/9已选择14行。已用时间:  00: 00: 00.01
    16:40:07 tina@PRACTICE> select b.id||'月' "Date",b.lob,nvl(num,0) lob数量 from
    16:40:15   2  (select cast(to_char(to_date("date",'yyyy/mm/dd'),'mm') as int) id,count(1) num,lob
    16:40:15   3  from a group by lob,to_char(to_date("date",'yyyy/mm/dd'),'mm')) a,
    16:40:15   4  (select id,lob from (select rownum id from dual connect by rownum < 13),(select distinct lob lob from a)) b
    16:40:15   5  where a.id(+) = b.id and a.lob(+) = b.lob order by b.lob,b.id;Date            LOB      LOB数量
    --------------- ----- ----------
    1月             BB             0
    2月             BB             0
    3月             BB             0
    4月             BB             0
    5月             BB             0
    6月             BB             0
    7月             BB             0
    8月             BB             0
    9月             BB             1
    10月            BB             0
    11月            BB             0
    12月            BB             0
    1月             CC             0
    2月             CC             0
    3月             CC             0
    4月             CC             0
    5月             CC             0
    6月             CC             0
    7月             CC             0
    8月             CC             0
    9月             CC             0
    10月            CC             0
    11月            CC             1
    12月            CC             0
    1月             DD             0
    2月             DD             0
    3月             DD             0
    4月             DD             0
    5月             DD             0
    6月             DD             0
    7月             DD             0
    8月             DD             0
    9月             DD             0
    10月            DD             0
    11月            DD             1
    12月            DD             0
    1月             EE             0
    2月             EE             0
    3月             EE             0
    4月             EE             0
    5月             EE             0
    6月             EE             0
    7月             EE             0
    8月             EE             1
    9月             EE             0
    10月            EE             0
    11月            EE             0
    12月            EE             0
    1月             MB             0
    2月             MB             2
    3月             MB             1
    4月             MB             1
    5月             MB             1
    6月             MB             1
    7月             MB             0
    8月             MB             0
    9月             MB             0
    10月            MB             0
    11月            MB             3
    12月            MB             0
    1月             VGA            0
    2月             VGA            0
    3月             VGA            0
    4月             VGA            0
    5月             VGA            0
    6月             VGA            0
    7月             VGA            1
    8月             VGA            0
    9月             VGA            0
    10月            VGA            0
    11月            VGA            0
    12月            VGA            0已选择72行。已用时间:  00: 00: 00.06