Пишу сценарий оболочки, такой как:
#! /bin/bash
`sqlplus -s <username>/<passwd>@dbname`
set echo on
set pagesize 0
set verify off
set lines 32000
set trimspool on
set feedback off
`SELECT tr.number, count(*) as total
FROM <dbname>.<tablename1> tr
LEFT JOIN <tablename2> t2 ON t2.id2 = tr.id1
LEFT JOIN <tablename3> t3 ON t3.id2 = tr.id1
LEFT JOIN <tablename4> t4 ON t4.id2 = tr.id1
WHERE tr.TIMESTAMP > SYSDATE - 75 / 1440
AND tr.TIMESTAMP <= SYSDATE - 15 / 1440
and (t2.number like '2____' OR t2.number like '3____' OR t2.number like '99____' )
AND tr.id = 703 and t2.v1 = 100
group by (tr.number);`
exit;
EOF
В настоящее время мой вывод похож на: *
tr.number count(*)
27684 76
27050 9
37744 7
997717 11
997797 8
37224 3
Я хочу сгруппировать счетчик чисел 2_ , 3 __ , 99_ _ , например
tr.number count(*)
2____ 76+9
3____ 7+3
99_____ 11+8
, выходные данные должны быть ТОЛЬКО в 3 строках с начальными цифрами 2,3 и 99 в трехстроки, как показано выше.
_
представляет 4 места.
Пожалуйста, сообщите.
PS Не могли бы вы сообщить, почему важно ставить операторы SET и их краткое описание?,
Спасибо!