みなさん、こんにちは。私は戻ってきて、あなたの輝きをもっと楽しみにしています。私は2つのテーブルを持っています:
- ニュースレター—各行には、電子メールの「id」、「subject」、「body」、「from」ヘッダーが含まれています
- newsletter_queue —各行には、「id」、「email」アドレス、「date」がキューに追加され、「newsletterid」が含まれます。
私の目標は、「newsletter_queue」からx個の行をプルできるMySQLクエリを開発し、GROUP_CONCAT(または機能するもの)を使用してすべての電子メールを文字区切りの文字列に入れて解析しながら、「newsletterid」でグループ化することです。 PHPで。それらを一緒にしたい理由は、私が使用しているメーラーライブラリ(swiftmailer)が、バッチメール用のメールを含む配列を受け入れるためです。また、可能であれば、2つのテーブルを結合して、2番目のクエリを回避するのが非常に便利です。
これが私がこれまでに持っているものです:
SELECT GROUP_CONCAT(email ORDER BY date ASC SEPARATOR '|'), newsletterid, date
FROM newsletter_queue
WHERE status='0'
GROUP BY newsletterid
LIMIT 125
私の問題は、LIMIT 125がすでに連結された行に適用されており、一意のニュースレターではなく、一度に送信される電子メールの総数を制限しようとしているため、それが役に立たないことです。誰かが私を正しい方向に導くことができれば、私は非常に感謝しています。例を書くことになれば、それも素晴らしいことです。