Reputation: 1
Is it possible execute sql delete query foreach user_id in table?
I can get all user_id with SELECT user_id FROM
users
Then I can delete all raws except last with
DELETE FROM accounts
WHERE id IN (select * from (SELECT id
FROM accounts
WHERE user_id = 150192618395339835
AND site = 'https://www.paypal.com'
AND time_added < (SELECT Max(time_added)
FROM accounts
WHERE user_id = 150192618395339835
AND site = 'https://www.paypal.com')
ORDER BY time_added ASC) as t)
How can I pass all user_id to delete query?
Upvotes: 0
Views: 293
Reputation: 3890
Try with
WHERE user_id in (SELECT u.user_id FROM users u)
And all query:
DELETE FROM accounts
WHERE id IN (select * from (SELECT id
FROM accounts
WHERE user_id in (SELECT u.user_id FROM users u)
AND site = 'https://www.paypal.com'
AND time_added < (SELECT Max(time_added)
FROM accounts
WHERE user_id = 150192618395339835
AND site = 'https://www.paypal.com')
ORDER BY time_added ASC) as t)
Upvotes: 1