Я написал следующее MySQL
Внутренний запрос на присоединение. Mysql версия 8.0.18-commercial
select r.network->>"$[0].name" , s.server, s.ipAddr,
from table1 e
inner join table2 s
on e.objectId = s.envId
inner join resources r
on e.objectId = r.envId
inner join tpgs g
on e.accountId = g.objectId
inner join msgTable a
on a.id = (select max(a.id) from msgTable a where a.logId = s.AuditId)
ORDER BY dateSubmitted DESC ;
Однако я получаю дублирующиеся записи для нескольких записей.
Здесь s.server
должен появляться только один раз.
Я добавил group by
, как показано ниже, но получаю ошибку:
select r.network->>"$[0].name" , s.server, s.ipAddr,
from table1 e
inner join table2 s
on e.objectId = s.envId
inner join resources r
on e.objectId = r.envId
inner join tpgs g
on e.accountId = g.objectId
inner join msgTable a
on a.id = (select max(a.id) from msgTable a where a.logId = s.AuditId)
GROUP BY s.server
ORDER BY dateSubmitted DESC ;
Ошибка:
Code: 1055. Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db.s.ipAddr' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Пожалуйста, предложите, как обновить запрос, чтобы исключить повторяющиеся строки.