Я работаю с этой таблицей:
Таблица, с которой я начинаю
и у меня есть следующий sql:
SELECT customer_id,
GROUP_CONCAT(incident_id order by create_time asc) as ids,
count(incident_id) as total_count
FROM incidents
GROUP BY customer_id
этот sql генерирует следующую таблицу
таблица
Я хотел бы выполнить запрос DELETE для сгенерированной таблицы.
Я пытался сделать это:
DELETE FROM (
SELECT customer_id,
GROUP_CONCAT(incident_id order by create_time asc) as ids,
count(incident_id) as total_count
FROM incidents
GROUP BY customer_id)
WHERE total_count > 3
НО я получил ошибку:
ошибка
Что я делаю не так?
И второй вопрос ->
Как только я узнаю, как удалить из этой таблицы, я бы хотел расширить термин удаления (который был «где total_count> 3») и добавить к нему другой термин, который удалит все строки, где идентификаторы выше 3, поэтому я буду осталось только 3 идентификатора.
В postgress я сделаю это, добавив следующий термин:
инцидент = любой (идентификаторы [3: итого])
То есть я хочу создать подсписок из группы.
Как мне это сделать в MySql?
Чтобы загореться, я хотел бы выполнить следующий sql:
DELETE FROM (
SELECT customer_id,
GROUP_CONCAT(incident_id order by create_time asc) as ids,
count(incident_id) as total_count
FROM incidents
GROUP BY customer_id)
WHERE total_count > 3
AND incident_id = ANY(ids[3:total_count])