Использование Perl
perl -F, -lane ' if(/Engineer/) { $dsg+=$F[2];$c++ } END { print $dsg/$c } ' file
с заданными вами входами
$ cat john.txt
Name,Designation,Salary
Hari,Engineer,35000
Suresh,Consultant,80000
Umesh,Engineer,45500
Maya,Analyst,50000
Guru,Consultant,100000
Sushma,Engineer,30000
Mohan,Engineer,30000
$ perl -F, -lane ' if(/Engineer/) { $dsg+=$F[2];$c++ } END { print $dsg/$c } ' john.txt
35125
$
Для официального клиента CLI "psql" см. здесь . И "pgAdmin3" 1.10 (все еще в бета-версии) имеет " pgScript ".
Вот пример использования переменной в plpgsql:
create table test (id int);
insert into test values (1);
insert into test values (2);
insert into test values (3);
create function test_fn() returns int as $$
declare val int := 2;
begin
return (SELECT id FROM test WHERE id = val);
end;
$$ LANGUAGE plpgsql;
SELECT * FROM test_fn();
test_fn
---------
2
Дополнительную информацию см. В документации plpgsql .
Я наткнулся на некоторые другие документы, которые они используют \ set
для объявления скриптовой переменной, но значение похоже на постоянное значение, и я нахожу способ который может действовать как переменная, а не как постоянная переменная.
Пример:
\set Comm 150
select sal, sal+:Comm from emp
Здесь sal
- это значение, которое присутствует в таблице emp, а comm
- постоянное значение.