有一张票据表,有下面这些字段
id writeDate(开票日期) custom(客户号) type(票据类型) unit(开票单位)
00000001 2005-11-12 0101001 01 001
00000002 2005-11-22 0101001 01 001
00000003 2005-11-25 0101001 02 001
00000004 2005-12-12 0101001 01 002
00000005 2005-10-12 0101001 04 002
00000006 2005-12-08 0101001 01 003
00000007 2005-10-11 0101001 03
00000008 2005-07-22 0101001 01
00000009 2005-05-12 0101001 01
00000010 2005-05-22 0101001 05
00000011 2005-11-12 0101001 01
00000012 2005-11-22 0101015 01
00000013 2005-11-25 0101001 02
00000014 2005-12-12 0101001 01
00000015 2005-10-12 0101001 04
00000016 2005-12-08 0101025 01
00000017 2005-10-11 0101055 03
00000018 2005-07-22 0101001 01
00000019 2005-05-12 0101001 01
00000020 2005-05-22 0101015 05
我现在要求根据一个时间段选出某个单位每个月开出的票的总数,启号和止号,比如
时间 起号 止号 总数
2005-11 00000001 00000003 3
2005-12 00000004 00000005 2
id writeDate(开票日期) custom(客户号) type(票据类型) unit(开票单位)
00000001 2005-11-12 0101001 01 001
00000002 2005-11-22 0101001 01 001
00000003 2005-11-25 0101001 02 001
00000004 2005-12-12 0101001 01 002
00000005 2005-10-12 0101001 04 002
00000006 2005-12-08 0101001 01 003
00000007 2005-10-11 0101001 03
00000008 2005-07-22 0101001 01
00000009 2005-05-12 0101001 01
00000010 2005-05-22 0101001 05
00000011 2005-11-12 0101001 01
00000012 2005-11-22 0101015 01
00000013 2005-11-25 0101001 02
00000014 2005-12-12 0101001 01
00000015 2005-10-12 0101001 04
00000016 2005-12-08 0101025 01
00000017 2005-10-11 0101055 03
00000018 2005-07-22 0101001 01
00000019 2005-05-12 0101001 01
00000020 2005-05-22 0101015 05
我现在要求根据一个时间段选出某个单位每个月开出的票的总数,启号和止号,比如
时间 起号 止号 总数
2005-11 00000001 00000003 3
2005-12 00000004 00000005 2
from t
where ......
group by writeDate
select writeDate, min(id), max(id), max(id)-min(id)+1
from t
where extract(month from writeDate) As month
group by month
from t
group by unit,to_char(writeDate,'yyyy-mm')