I was looking for a way to get a list of people that unsubscribed.
The info I wanted was the Email address, Date, and Reason (if any was given).
This is the query I came up with:
- Code: Select all
SELECT
phplist_user_user.email
, phplist_user_user_history.date
, phplist_user_blacklist_data.data
FROM
mydtata_plst1.phplist_user_user_history
INNER JOIN mydtata_plst1.phplist_user_user
ON (phplist_user_user_history.userid = phplist_user_user.id)
INNER JOIN mydtata_plst1.phplist_user_blacklist_data
ON (phplist_user_user.email = phplist_user_blacklist_data.email)
WHERE phplist_user_user_history.detail LIKE 'Unsubscribed%'
ORDER BY phplist_user_user_history.date ASC;
Of course, you'll have to change "mydtata" in the table names to fit your tables.
It works well with humongous mailing lists.
Let me know if you find it useful or can improve on it.