大家好,我回来了,期待你们的更多精彩。我有两张桌子:
- 时事通讯——每行包含一个电子邮件的“id”、“主题”、“正文”和“发件人”标题
- newsletter_queue — 每行包含一个“id”、“email”地址、添加到队列中的“date”和“newsletterid”
我的目标是开发一个 MySQL 查询,该查询可以从“newsletter_queue”中提取 x 行,然后在使用 GROUP_CONCAT(或任何可行的方法)将所有电子邮件放入一个字符分隔的字符串中时按它们的“newsletterid”对它们进行分组,我将解析用 PHP。我想将它们放在一起的原因是因为我正在使用的邮件程序库 (swiftmailer) 接受一个包含电子邮件的数组以用于批量电子邮件。此外,如果可能的话,将两个表连接在一起会非常简洁,从而避免第二次查询。
这是我到目前为止所拥有的:
SELECT GROUP_CONCAT(email ORDER BY date ASC SEPARATOR '|'), newsletterid, date
FROM newsletter_queue
WHERE status='0'
GROUP BY newsletterid
LIMIT 125
我的问题是 LIMIT 125 被应用于已经连接的行,由于我试图限制一次发送的电子邮件总数,而不是唯一的时事通讯,因此它变得无用。如果有人能引导我朝着正确的方向前进,我将不胜感激。如果你最终写了这个例子,那也很好。