Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

SQL Group per hour with summary of count

JaguarMar 2 2015 — edited Mar 6 2015

Hi

I have sample data below. I need to group it per hour and generate dynamic column based on the col2.

SELECT TO_DATE('02/01/2015 06:03:24', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:23:42', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:30:59', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:35:13', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:56:50', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:00:32', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:01:15', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:01:31', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:02:02', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:12:59', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:19:50', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:21:11', 'MM/DD/YYYY HH24:MI:SS') col1, '2801' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:55:22', 'MM/DD/YYYY HH24:MI:SS') col1, '2821' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:12:22', 'MM/DD/YYYY HH24:MI:SS') col1, '2821' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:17:37', 'MM/DD/YYYY HH24:MI:SS') col1, '2821' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:18:35', 'MM/DD/YYYY HH24:MI:SS') col1, '2821' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:25:54', 'MM/DD/YYYY HH24:MI:SS') col1, '2821' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:06:14', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:18:21', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:27:23', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:27:38', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:54:08', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:06:20', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:09:07', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:20:46', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:26:12', 'MM/DD/YYYY HH24:MI:SS') col1, '2841' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:12:25', 'MM/DD/YYYY HH24:MI:SS') col1, '2861' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:17:53', 'MM/DD/YYYY HH24:MI:SS') col1, '2861' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:21:55', 'MM/DD/YYYY HH24:MI:SS') col1, '2861' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:22:34', 'MM/DD/YYYY HH24:MI:SS') col1, '2861' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:25:25', 'MM/DD/YYYY HH24:MI:SS') col1, '2861' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:52:40', 'MM/DD/YYYY HH24:MI:SS') col1, '2861' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:17:32', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:38:14', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:41:49', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:42:55', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:43:22', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:43:29', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:54:20', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 06:59:23', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:39:02', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual UNION

SELECT TO_DATE('02/01/2015 07:43:07', 'MM/DD/YYYY HH24:MI:SS') col1, '2881' col2 FROM dual

So if I choose all ('2801','2821','2841','2861','2881'). Output will be like this.   

Date28012821284128612881Total
01/02/2015 065154823
01/02/2015 077442219
Total125961042

However if I choose only ('2821','2841'), Output will be like this.

Date28212841Total
01/02/2015 06156
01/02/2015 07448
Total5914

Thank you.

Regards.

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 3 2015
Added on Mar 2 2015
8 comments
1,897 views