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'] : '';
|
||||
|
||||
$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,
|
||||
MIN(col_time_on) as first_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 .= " 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 . "
|
||||
ORDER BY contact_count DESC, col_call ASC";
|
||||
ORDER BY contact_count DESC, callsign ASC";
|
||||
|
||||
$query = $this->db->query($sql);
|
||||
|
||||
|
|
|
|||
正在加载…
在新工单中引用