Использование mysql 5, потому что gcloud поддерживает только это ...
Я пытаюсь отфильтровать теги с повторяющимся столбцом text из запроса и нашел один способ сделать это, используя ROW_NUMBER () и предложение OVER (), чтобы выбрать первое (по идентификатору). ) тег тегов с дублированным текстом, но я получаю синтаксическую ошибку, потому что в mysql 5 не существует over. *
SELECT
c.*,
CONCAT('[',
GROUP_CONCAT(CONCAT('{"id":',
t.id,
', "company_id":',
t.company_id,
', "client_id":',
t.client_id,
', "user_id":',
t.user_id,
', "text":"',
t.text,
'", "color":"',
t.color,
'"}')
ORDER BY t.id),
']') AS tags
FROM
company_users AS cu
LEFT JOIN
companies AS c ON cu.company_id = c.id
LEFT JOIN
(SELECT t.*, ROW_NUMBER() OVER(PARTITION BY `text` ORDER BY `id` ASC) AS tagnum
FROM client_tags AS t
) t ON c.id = t.company_id AND tagnum = 1
WHERE
# temp
cu.user_id = 1
GROUP BY c.id;
Есть ли что-то еще, что я мог бы использовать? Я даже не знаю, сработает ли этот метод, потому что я не могу его запустить.