CREATE AGGREGATE name ( BASETYPE = input_data_type, SFUNC = sfunc, STYPE = state_type [ , FINALFUNC = ffunc ] [ , INITCOND = initial_condition ] )
�������뽸��ؿ���̾���Ǥ� (���ץ����ǥ���������̾)��
���ν���ؿ����黻�������ϥǡ������Ǥ��� ����ϡ������ͤ����ʤ�����ˤ� "ANY" �Ȥ��ƻ��ꤹ�뤳�Ȥ��Ǥ��ޤ� �ʤ��Ȥ��� count(*)�ˡ�
���줾������ϥǡ����ͤ˸ƤӽФ����������ܴؿ���̾���Ǥ���������̾�� 2 �Ĥΰ�����������ǽ�ΰ����� state_type ���� 2 ���ܤ� input_data_type���Ǥ�������ˡ������ͤ����ʤ�����ǤϤ��δؿ��� state_type ���ΰ�����1�Ĥ����Ȥ�ޤ����ɤ���ξ��Ǥ⡢���δؿ��� state_type �����ͤ��֤��ʤ���Фʤ�ޤ����δؿ��ϸ��ߤξ����ͤȸ��ߤ����ϥǡ������ܤ������ꡢ���ξ����ͤ��֤��ޤ���
����ξ����ͤΥǡ������Ǥ���
���٤Ƥ����ϥǡ�����������äƤ��齸��η�̤�����뤿��˸ƤФ��Ǹ�δؿ���̾���Ǥ����ؿ��� state_type ���ΰ����� 1 �ĤȤ�ʤ��ƤϤ����ޤ�����ν��ϥǡ������Ϥ��δؿ����֤��ͤȤ����������ޤ���ffunc �����ꤵ��ʤ����ˤϡ���λ�����ͤ�����η�̤Ȥ��ƻȤ�졢���Ϸ��� state_type �ˤʤ�ޤ���
�����ͤν������Ǥ�������ϥǡ����� state_type �Ȥ��Ƽ�����������ƥ������Ǥʤ���Ф����ޤ��⤷���ꤵ��ʤ��ȡ������ͤ� NULL �Ȥ��ƻϤޤ�ޤ���
CREATE AGGREGATE �ϡ��桼����ץ�����ޤ�����������ؿ���������뤳�Ȥ� PostgreSQL �ε�ǽ�����ĥ���뤳�Ȥ��ǽ�ˤ��ޤ���min(integer) �� avg(double precision) �Τ褦�ʴ��ܷ��ν���ؿ��Ϥ��Ǥ˴�������ʪ���������Ƥ��ޤ����⤷����������������뤫�ޤ�����Ƥ��ʤ�����ؿ���ɬ�פʾ�硢ɬ�פʵ�ǽ�����뤿��� CREATE AGGREGATE ��Ȥ����Ȥ��Ǥ��ޤ���
��������̾���դ����Ƥ����� (���Ȥ��С�CREATE AGGREGATE myschema.myagg ...)������ؿ��ϻ��ꤵ�줿�������ޤǺ�������ޤ��� ��������̾���ʤ���С�����ؿ��ϸ��ߤΥ������� (�����ѥ������ˤ��륹�����ޡ�CURRENT_SCHEMA() ����) �Ǻ�������ޤ���
����ؿ���̾�������ϥǡ������ˤ�äƼ��̤���ޤ��� �ۤʤ����Ϸ��α黻��ΤǤ���С�Ʊ������������� 2 �Ĥν���Ʊ��̾���Ǥ��äƤ���ޤ��� �����̾����������ϥǡ������ϡ�Ʊ������������Τ��٤Ƥ��̾�δؿ���̾����������ϥǡ������Ȥ⡢�㤦��Τˤ���ɬ�פ�����ޤ���
����ؿ��� 1 �Ĥ� 2 �Ĥ��̾�δؿ��������ޤ����������ܴؿ� sfunc �Ⱦ�ά��ǽ�ʺǽ����ؿ� ffunc �Ǥ��������ϰʲ��Τ褦�˻Ȥ��ޤ���
sfunc( internal-state, next-data-item ) ---> next-internal-state ffunc( internal-state ) ---> aggregate-value
PostgreSQL �ϡ�����θ��ߤ��������֤��ݻ����롢stype�ǡ������ΰ���ѿ���������ޤ������줾������ϥǡ������ܤǡ��������ܴؿ��Ͽ��������������ͤ�����뤿��˸ƤӽФ���ޤ������٤ƤΥǡ��������������ȡ��ǽ��ؿ�������ν����ͤ�����뤿��� 1 ��ƤӽФ���ޤ����⤷�ǽ��ؿ����ʤ���н�λ�����ͤ����Τޤ��֤���ޤ���
����ؿ��ϡ����������ͤΤ���ν���ͤǤ��롢������֤����뤳�Ȥ��Ǥ��ޤ�������� text ���Υե�����ɤȤ��ƻ��ꤵ��ƥǡ����١����˳�Ǽ����ޤ����������ͥǡ�����������Ȥ���ͭ���ʳ���ɽ���Ǥʤ���Ф����ޤ��⤷������֤����뤵��ʤ��ȡ�NULL �Ȥ��ƻϤޤ�ޤ���
�⤷�������ܴؿ��� "����" ����������ȡ�NULL ���ϤǸƤӽФ����ȤϤǤ��ޤ����Τ褦�����ܴؿ��Ǥϡ�����μ¹Ԥϰʲ��Τ褦�ˤʤ�ޤ���NULL �����ͤ�̵�뤵��ޤ��ʤ��δؿ��ϸƤӽФ��줺���ξ����ͤ���¸���ޤ��ˡ��⤷��������ͤ� NULL ���ȡ��ǽ���� NULL �����ͤ������ͤ��֤����������ܴؿ��� 2 ���ܤ��� NULL �����ͤ���ƤӽФ����Ϥޤ�ޤ�������� max �Τ褦�ʽ���μ����ˤ������Ǥ������Τ褦��ư��� state_type �� input_data_type ��Ʊ���Ȥ��ˤΤ�ͭ���ˤʤ�ޤ��������η����ۤʤ�Ȥ��ϡ��� NULL ����ͤ뤹�뤫���ʤǤʤ����ܴؿ���Ȥ�ʤ���Ф����ޤ���
�������ܴؿ������ʤǤϤʤ���硢���줾��������ͤ�̵���˸ƤӽФ��졢NULL ���Ϥ�NULL �����ͤ�ʬ�ǽ������ʤ���Ф����ޤ��� ����ϡ�����κ����Ԥ�������� NULL �ͤΰ����ˤĤ��ƴ����˴������뤳�Ȥ��ǽ�ˤ��ޤ���
�⤷�ǽ��ؿ��� "����" ����������ȡ���λ�����ͤ� NULL �ξ��ˤϸƤӽФ���ޤ�������� NULL �Ȥ�����̤���ưŪ�˽��Ϥˤʤ�ޤ����ʤ������ϸ��ʤʴؿ��Τ�������Ū��ư��Ǥ�������ޤ��ˤɤΤ褦�ʾ��Ǥ�ǽ��ؿ��� NULL ���֤����Ȥ��Ǥ��ޤ������Ȥ��С�avg �κǽ��ؿ������ϥ��ץ뤬 0 ���Ȥ狼��� NULL ���֤��ޤ���