CREATE AGGREGATE name ( BASETYPE = input_data_type, SFUNC = sfunc, STYPE = state_data_type [ , FINALFUNC = ffunc ] [ , INITCOND = initial_condition ] )
CREATE AGGREGATE�ϡ�����������ؿ���������ޤ��� ����ʪ�ˤϴ���Ū�����ġ��褯���Ѥ���뽸��ؿ��������Ĥ��ޤޤ�Ƥ��ꡢ��9.15��ʸ����Ƥ��ޤ��� �⤷����������������뤫�ޤ�����Ƥ��ʤ�����ؿ���ɬ�פʾ�硢ɬ�פʵ�ǽ�����뤿��� CREATE AGGREGATE��Ȥ����Ȥ��Ǥ��ޤ���
��������̾���դ����Ƥ����� (�㤨�С�CREATE AGGREGATE myschema.myagg ...)������ؿ��ϻ��ꤵ�줿�������ޤǺ�������ޤ��� ��������̾���ʤ���С�����ؿ��ϸ��ߤΥ������ޤǺ�������ޤ���
����ؿ���̾�������ϥǡ������ˤ�äƼ��̤���ޤ��� �ۤʤ����Ϸ��α黻��ΤǤ���С�Ʊ�������������2�Ĥν���Ʊ��̾���Ǥ��äƤ���ޤ��� �����̾����������ϥǡ������ϡ�Ʊ����������������Ƥ��̾�δؿ���̾����������ϥǡ������Ȥ⡢�㤦��Τˤ���ɬ�פ�����ޤ���
����ؿ���1�Ĥ�2�Ĥ��̾�δؿ��������ޤ��� �������ܴؿ�sfunc�Ⱦ�ά��ǽ�ʺǽ����ؿ�ffunc�Ǥ��� �����ϰʲ��Τ褦�˻Ȥ��ޤ���
sfunc( ��������, ���Υǡ������� ) ---> ������������ ffunc( �������� ) ---> ����η��
PostgreSQL�ϡ�����θ��ߤ��������֤��ݻ����롢stype�ǡ������ΰ���ѿ���������ޤ��� ���줾������ϥǡ������ܤǡ��������ܴؿ������������������ͤ�����뤿��˸ƤӽФ���ޤ��� ���ƤΥǡ��������������ȡ��ǽ��ؿ�������ν����ͤ�����뤿���1��ƤӽФ���ޤ��� �⤷�ǽ��ؿ����ʤ���н�λ���ξ����ͤ����Τޤ��֤���ޤ���
����ؿ��ϡ����������ͤΤ���ν���ͤǤ��롢������֤����뤳�Ȥ��Ǥ��ޤ��� �����text������Ȥ��ƻ��ꤵ��ƥǡ����١����˳�Ǽ����ޤ����������ͥǡ�����������Ȥ���ͭ���ʳ���ɽ���Ǥʤ���Ф����ޤ��� �⤷������֤����뤵��ʤ��ȡ������ͤ�NULL����Ϥޤ�ޤ���
�⤷�������ܴؿ���"����"����������ȡ�NULL���ϤǸƤӽФ����ȤϤǤ��ޤ��� ���Τ褦�����ܴؿ��Ǥϡ�����μ¹Ԥϰʲ��Τ褦�ˤʤ�ޤ��� NULL�����ͤ�̵�뤵��ޤ��ʤ��δؿ��ϸƤӽФ��줺���ξ����ͤ���¸���ޤ��ˡ� �⤷��������ͤ�NULL���ȡ��ǽ����NULL�����ͤ������ͤ��֤����������ܴؿ���2���ܤ���NULL�����ͤ���ƤӽФ����Ϥޤ�ޤ��� �����max�Τ褦�ʽ���μ����ˤ������Ǥ��� ���Τ褦��ư���state_data_type��input_data_type��Ʊ�����ˤΤ�ͭ���ˤʤ뤳�Ȥ����դ��Ƥ��������� �����η����ۤʤ���ϡ���NULL����ͤ뤹�뤫���ʤǤʤ����ܴؿ���Ȥ�ʤ���Ф����ޤ���
�������ܴؿ������ʤǤϤʤ���硢���줾��������ͤ�̵���˸ƤӽФ��졢NULL���Ϥ�NULL�����ͤ�ʬ�ǽ������ʤ���Ф����ޤ��� ����ˤ�ꡢ����κ����ԤϽ����NULL�ͤΰ����ˤĤ��ƴ����˴������뤳�Ȥ��Ǥ��ޤ���
�⤷�ǽ��ؿ���"����"����������ȡ���λ�����ͤ�NULL�ξ��ˤϸƤӽФ���ޤ��� �����NULL�Ȥ�����̤���ưŪ�˽��Ϥˤʤ�ޤ��� �ʤ������ϸ��ʤʴؿ��Τ�������Ū��ư��Ǥ�������ޤ��� �ɤΤ褦�ʾ��Ǥ�ǽ��ؿ���NULL���֤����Ȥ��Ǥ��ޤ��� �㤨�С�avg�κǽ��ؿ������Ϥ�0�Ԥ��Ȥ狼���NULL���֤��ޤ���
�������뽸��ؿ���̾���Ǥ� (����������̾���ǽ)��
���ν���ؿ����黻�������ϥǡ������Ǥ��� ����ϡ������ͤ����ʤ�����ˤ�"ANY"�Ȥ��ƻ��ꤹ�뤳�Ȥ��Ǥ��ޤ� ���㤨�� count(*)�ˡ�
���줾������ϥǡ����ͤ��Ф��ƸƤӽФ����������ܴؿ���̾���Ǥ��� ������̾��2�Ĥΰ�����������ǽ�ΰ�����state_data_type���ǡ�2���ܤ�input_data_type���Ǥ��� ����ˡ������ͤ����ʤ�����ǤϤ��δؿ���state_data_type���ΰ�����1�Ĥ������ޤ��� �ɤ���ξ��Ǥ⡢���δؿ���state_data_type�����ͤ��֤��ʤ���Фʤ�ޤ��� ���δؿ��ϸ��ߤξ����ͤȸ��ߤ����ϥǡ������ܤ������ꡢ���ξ����ͤ��֤��ޤ���
����ξ����ͤΥǡ������Ǥ���
���Ƥ����ϥǡ������Ф����������äƤ��顢����η�̤�����뤿��˸ƤФ��Ǹ�ؿ���̾���Ǥ��� ���δؿ���state_data_type���ΰ�����1�ļ��ʤ��ƤϤ����ޤ��� ����ν��ϥǡ������Ϥ��δؿ����֤��ͤȤ����������ޤ��� ffunc�����ꤵ��ʤ����ˤϡ���λ���ξ����ͤ�����η�̤Ȥ��ƻȤ�졢���Ϸ���state_data_type�ˤʤ�ޤ���
�����ͤν������Ǥ��� ����ϥǡ�����state_data_type�Ȥ��Ƽ����������ʸ��������Ǥʤ���Ф����ޤ��� �⤷���ꤵ��ʤ��ȡ������ͤ�NULL����Ϥޤ�ޤ���
CREATE AGGREGATE�Υѥ����ϡ���Ǽ��������֤����ǤϤʤ���Ǥ�դν��֤ǵ��Ҥ��뤳�Ȥ��Ǥ��ޤ���