我有一张表T
有如下字段
A B C D E
1 1001 1 2 2009-3-16 6:00:00
1 1001 1 2 2009-3-16 12:00:00
1 1001 1 2 2009-3-16 18:04:00
2 2001 3 4 2009-3-16 19:00:00
2 2001 3 4 2009-3-16 15:02:00
2 2002 5 6 2009-3-16 8:00:01
2 2002 5 6 2009-3-16 13:00:05
2 2002 7 8 2009-3-16 14:00:05
2 2002 7 9 2009-3-16 17:00:05
2 2002 7 9 2009-3-16 16:00:05
2 2002 8 9 2009-3-16 21:00:05
现在我要得出如下的结果
A B C D E count
1 1001 1 2 2009-3-16 6:00:00 --2009-3-16 18:04:00 3
2 2001 3 4 2009-3-16 15:02:00--2009-3-16 19:00:00 2
2 2002 5 6 2009-3-16 8:00:01-- 2009-3-16 13:00:05 2
2 2002 7 8 2009-3-16 14:00:05--2009-3-16 14:00:05 1
2 2002 7 9 2009-3-16 16:00:05--2009-3-16 17:00:05 2
2 2002 8 9 2009-3-16 21:00:05--2009-3-16 21:00:05 1请问这样的一个SQL 怎么实现呢 如还有疑问的地方,请在回复中说明 谢谢
有如下字段
A B C D E
1 1001 1 2 2009-3-16 6:00:00
1 1001 1 2 2009-3-16 12:00:00
1 1001 1 2 2009-3-16 18:04:00
2 2001 3 4 2009-3-16 19:00:00
2 2001 3 4 2009-3-16 15:02:00
2 2002 5 6 2009-3-16 8:00:01
2 2002 5 6 2009-3-16 13:00:05
2 2002 7 8 2009-3-16 14:00:05
2 2002 7 9 2009-3-16 17:00:05
2 2002 7 9 2009-3-16 16:00:05
2 2002 8 9 2009-3-16 21:00:05
现在我要得出如下的结果
A B C D E count
1 1001 1 2 2009-3-16 6:00:00 --2009-3-16 18:04:00 3
2 2001 3 4 2009-3-16 15:02:00--2009-3-16 19:00:00 2
2 2002 5 6 2009-3-16 8:00:01-- 2009-3-16 13:00:05 2
2 2002 7 8 2009-3-16 14:00:05--2009-3-16 14:00:05 1
2 2002 7 9 2009-3-16 16:00:05--2009-3-16 17:00:05 2
2 2002 8 9 2009-3-16 21:00:05--2009-3-16 21:00:05 1请问这样的一个SQL 怎么实现呢 如还有疑问的地方,请在回复中说明 谢谢
from T
group by A,B,C,DE如果是Date型的转一下,是varchar的就不用管了.
to_char(min(E),'yyyy-mm-dd hh24:mi:ss')||'-'||to_char(max(E),'yyyy-mm-dd hh24:mi:ss') E,
count(*) count
from T
group by A,B,C,D
to_char(min(E),'yyyy-mm-dd hh24:mi:ss')||'-'||to_char(max(E),'yyyy-mm-dd hh24:mi:ss') E,
count(*) count
from T
group by A,B,C,D
select A,B,C,D,
to_char(min(E),'yyyy-mm-dd hh24:mi:ss')||'--'||to_char(max(E),'yyyy-mm-dd hh24:mi:ss') E,
count(*) count
from T
group by A,B,C,D