我有一个连接两个表(消息和元数据)的 SQL 查询,然后根据其中一列 sender_id 的值从消息中删除。在下面的示例中,我使用了一个用户的 ID,22。如何使此查询循环遍历 sender_id 的每个唯一值?
DELETE `messages`
FROM
`messages` LEFT JOIN `meta` ON (`meta`.message_id = `messages`.id)
WHERE
`meta`.message_id IS NULL
AND
`messages`.date_sent < DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND
`messages`.sender_id = 22 // How can I replace '22' so that the query searches for
each unique value of sender_id?
最佳答案
你不能把条件去掉吗?
DELETE m
FROM messages LEFT JOIN
meta
ON meta.message_id = m.id
WHERE m.message_id IS NULL AND
m.date_sent < DATE_ADD(NOW(), INTERVAL -1 MONTH) ;
这将删除所有符合条件的消息。
关于mysql - SQL删除列中的每个唯一值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43562408/