mirror of
https://github.com/magicbug/Cloudlog
synced 2026-08-13 17:49:35 -04:00
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.
This commit is contained in:
parent
76f55f7f27
commit
c7bef2db07
1 changed files with 13 additions and 3 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue