UPDATED:
SELECT category,
CASE category WHEN 1 THEN 'GET' WHEN 2 THEN 'POST' WHEN 3 THEN 'HEAD' ELSE 'OTHER' END command,
COUNT(*) rec_count,
ROUND(AVG(SUBSTRING(origdate, 14, 2))) avg_hour
FROM
(SELECT w.*,
CASE WHEN LEFT(origcmd, 3) = 'GET' THEN 1
WHEN LEFT(origcmd, 4) = 'POST' THEN 2
WHEN LEFT(origcmd, 4) = 'HEAD' THEN 3
ELSE 4 END category
FROM WebLog w) q
GROUP BY category
Output:
| CATEGORY | COMMAND | REC_COUNT | AVG_HOUR |
---------------------------------------------
| 1 | GET | 4 | 10 |
| 2 | POST | 3 | 14 |
| 3 | HEAD | 1 | 17 |
| 4 | OTHER | 2 | 6 |