Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delete from database all selected rows except first two

I need to delete all dates from database except first two selected dates:

SELECT DateColumn 
FROM Table 
GROUP BY date(DateColumn) 
ORDER BY DateColumn DESC

I want in one query to delete all dates except first two.

like image 684
1110 Avatar asked Oct 17 '25 07:10

1110


2 Answers

delete from table where DateColumn not in(
SELECT DateColumn 
FROM Table 
GROUP BY date(DateColumn) 
ORDER BY DateColumn DESC LIMIT 2)
like image 199
jainvikram444 Avatar answered Oct 19 '25 22:10

jainvikram444


DELETE FROM Table
      WHERE DateColumn NOT IN (SELECT DateColumn 
                                 FROM Table 
                             GROUP BY date(DateColumn) 
                             ORDER BY DateColumn DESC
                                LIMIT 2);

Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!