Normalize callsign grouping in most worked query
Updates SQL logic to group callsigns by their base identifier, stripping suffixes like /P, /MM, /AM, /QRP, /LH, and /BCN. This ensures contacts are aggregated correctly for operators using such suffixes.
这个提交包含在:
父节点
76f55f7f27
当前提交
c7bef2db07
共有 1 个文件被更改,包括 13 次插入 和 3 次删除
|
|
@ -27,7 +27,12 @@ class Mostworked_model extends CI_Model
|
||||||
$todate = isset($filters['todate']) ? $filters['todate'] : '';
|
$todate = isset($filters['todate']) ? $filters['todate'] : '';
|
||||||
|
|
||||||
$sql = "SELECT
|
$sql = "SELECT
|
||||||
col_call as callsign,
|
CASE
|
||||||
|
WHEN col_call REGEXP '/[PMAQLB]$|/MM$|/AM$|/QRP$|/LH$|/BCN$' THEN
|
||||||
|
SUBSTRING(col_call, 1, LOCATE('/', col_call) - 1)
|
||||||
|
ELSE
|
||||||
|
col_call
|
||||||
|
END as callsign,
|
||||||
COUNT(*) as contact_count,
|
COUNT(*) as contact_count,
|
||||||
MIN(col_time_on) as first_qso,
|
MIN(col_time_on) as first_qso,
|
||||||
MAX(col_time_on) as last_qso,
|
MAX(col_time_on) as last_qso,
|
||||||
|
|
@ -64,9 +69,14 @@ class Mostworked_model extends CI_Model
|
||||||
$sql .= " AND DATE(col_time_on) <= '" . $this->db->escape_str($todate) . "'";
|
$sql .= " AND DATE(col_time_on) <= '" . $this->db->escape_str($todate) . "'";
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql .= " GROUP BY col_call
|
$sql .= " GROUP BY CASE
|
||||||
|
WHEN col_call REGEXP '/[PMAQLB]$|/MM$|/AM$|/QRP$|/LH$|/BCN$' THEN
|
||||||
|
SUBSTRING(col_call, 1, LOCATE('/', col_call) - 1)
|
||||||
|
ELSE
|
||||||
|
col_call
|
||||||
|
END
|
||||||
HAVING contact_count >= " . $min_qsos . "
|
HAVING contact_count >= " . $min_qsos . "
|
||||||
ORDER BY contact_count DESC, col_call ASC";
|
ORDER BY contact_count DESC, callsign ASC";
|
||||||
|
|
||||||
$query = $this->db->query($sql);
|
$query = $this->db->query($sql);
|
||||||
|
|
||||||
|
|
|
||||||
正在加载…
在新工单中引用