Index: branches/version-2_11-dev/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
===================================================================
--- branches/version-2_11-dev/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php	(revision 20783)
+++ branches/version-2_11-dev/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php	(revision 20792)
@@ -181,4 +181,13 @@
             SUM(total) AS total,
             AVG(total) AS total_average";
+    }
+
+    /**
+     * 売上集計の年代別集計の年代抽出部分のSQLを返す
+     *
+     * @return string 年代抽出部分の SQL
+     */
+    function getOrderTotalAgeColSql() {
+        return 'TRUNC((YEAR(create_date) - YEAR(order_birth)) - (RIGHT(create_date, 5) < RIGHT(order_birth, 5)), -1)';
     }
 
Index: branches/version-2_11-dev/data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php
===================================================================
--- branches/version-2_11-dev/data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php	(revision 20764)
+++ branches/version-2_11-dev/data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php	(revision 20792)
@@ -164,4 +164,13 @@
             SUM(total) AS total,
             AVG(total) AS total_average";
+    }
+
+    /**
+     * 売上集計の年代別集計の年代抽出部分のSQLを返す
+     *
+     * @return string 年代抽出部分の SQL
+     */
+    function getOrderTotalAgeColSql() {
+        return 'TRUNC(CAST(EXTRACT(YEAR FROM AGE(create_date, order_birth)) AS INT), -1)';
     }
 
Index: branches/version-2_11-dev/data/class/pages/admin/total/LC_Page_Admin_Total.php
===================================================================
--- branches/version-2_11-dev/data/class/pages/admin/total/LC_Page_Admin_Total.php	(revision 20764)
+++ branches/version-2_11-dev/data/class/pages/admin/total/LC_Page_Admin_Total.php	(revision 20792)
@@ -614,15 +614,6 @@
         list($where, $arrval) = $this->lfGetWhereMember('create_date', $sdate, $edate, $type);
 
-        if (DB_TYPE == 'pgsql') {
-            $col = '
-                TRUNC(CAST(EXTRACT(YEAR FROM AGE(create_date, order_birth)) AS INT), -1) AS age,
-                ';
-        } else {
-            $col = '
-                trunc((YEAR(create_date) - YEAR(order_birth)) - (RIGHT(create_date, 5) < RIGHT(order_birth, 5)), -1) as age,
-                ';
-        }
-
-        $col .= '
+        $dbFactory = SC_DB_DBFactory_Ex::getInstance();
+        $col = $dbFactory->getOrderTotalAgeColSql() . ' AS age,
             COUNT(order_id) AS order_count,
             SUM(total) AS total,
