Это будет
select substr(part, 1, 1) as grp,
count(*) as cnt
from shop_order
group by substr(part, 1, 1);
Например (на основе таблицы Скотта EMP):
SQL> select empno, ename, substr(empno, 2) as part from emp order by 3;
EMPNO ENAME PART
---------- ---------- -----
7369 SMITH 369 3 - count = 1
7499 ALLEN 499 4 - count = 1
7521 WARD 521 5 - count = 2
7566 JONES 566
7654 MARTIN 654 6 - count = 2
7698 BLAKE 698
7782 CLARK 782 7 - count = 2
7788 SCOTT 788
7839 KING 839 8 - count = 3
7844 TURNER 844
7876 ADAMS 876
7900 JAMES 900 9 - count = 3
7902 FORD 902
7934 MILLER 934
14 rows selected.
SQL>
Тогда у вас будет
SQL> with shop_order (part) as
2 (select substr(empno, 2) from emp)
3 select substr(part, 1, 1) as grp,
4 count(*) cnt
5 from shop_order
6 group by substr(part, 1, 1)
7 order by substr(part, 1, 1);
GRP CNT
---- ----------
3 1
4 1
5 2
6 2
7 2
8 3
9 3
7 rows selected.
SQL>