|
@@ -391,31 +391,6 @@ class BaseLogic
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Todo 公共 whereRaw 子句
|
|
// Todo 公共 whereRaw 子句
|
|
|
-
|
|
|
|
|
- public function generateYearUnionList($namePrefix, $regDate, $whereRaw = '1=1', $field = '*', $group = null)
|
|
|
|
|
- {
|
|
|
|
|
- $yearRange = getYearRange($regDate[0], $regDate[1]);
|
|
|
|
|
- return $this->generateUnionList($namePrefix, $yearRange, $whereRaw, $field, $group);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public function generateUnionList($namePrefix, $range, $whereRaw = '', $field = '*', $group = null)
|
|
|
|
|
- {
|
|
|
|
|
- $sqlParts = [];
|
|
|
|
|
- foreach ($range as $ext) {
|
|
|
|
|
- $tableName = $namePrefix . '_' . $ext;
|
|
|
|
|
- $sqlParts[] = "SELECT * FROM {$tableName} WHERE {$whereRaw}";
|
|
|
|
|
- }
|
|
|
|
|
- $unionSql = implode(" UNION ALL ", $sqlParts);
|
|
|
|
|
- $finalSql = "
|
|
|
|
|
- SELECT {$field} FROM ( {$unionSql} ) AS all_total_day
|
|
|
|
|
- ";
|
|
|
|
|
- if (!empty($group)) {
|
|
|
|
|
- $finalSql .= " GROUP BY {$group}";
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return Db::connect('db_data_report')->query($finalSql);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
protected function getCommonWhereRaw($params): string
|
|
protected function getCommonWhereRaw($params): string
|
|
|
{
|
|
{
|
|
|
$eqParams = ["user_name", "media_id", "site_id", "agent_id", "vt", "server_id", "server_name"];
|
|
$eqParams = ["user_name", "media_id", "site_id", "agent_id", "vt", "server_id", "server_name"];
|
|
@@ -456,4 +431,23 @@ class BaseLogic
|
|
|
|
|
|
|
|
return $whereRaw . ($whereOr ? " OR {$whereOr}" : "");
|
|
return $whereRaw . ($whereOr ? " OR {$whereOr}" : "");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 合并表查询
|
|
|
|
|
+ public function generateUnionList($namePrefix, $range, $whereRaw = '', $field = '*', $group = null)
|
|
|
|
|
+ {
|
|
|
|
|
+ $sqlParts = [];
|
|
|
|
|
+ foreach ($range as $ext) {
|
|
|
|
|
+ $tableName = $namePrefix . '_' . $ext;
|
|
|
|
|
+ $sqlParts[] = "SELECT * FROM {$tableName} WHERE {$whereRaw}";
|
|
|
|
|
+ }
|
|
|
|
|
+ $unionSql = implode(" UNION ALL ", $sqlParts);
|
|
|
|
|
+ $finalSql = "
|
|
|
|
|
+ SELECT {$field} FROM ( {$unionSql} ) AS all_total_day
|
|
|
|
|
+ ";
|
|
|
|
|
+ if (!empty($group)) {
|
|
|
|
|
+ $finalSql .= " GROUP BY {$group}";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return Db::connect('db_data_report')->query($finalSql);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|