I have several tables containing over 20k rows. Is there a quick way to delete all but the first 20 rows in each of the tables?
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
MySQL Question
Collapse
X
-
-
I'm not a mySQL guru but is there a way to spit out the rownum?
Something like select @rownum:=@rownum+1, ID, ..... from ... where @rownum <=20;
insert that into a temporary table and then
delete from tableA where ID not in (select ID from tmptable)McCoy: "Medical men are trained in logic."
Spock: "Trained? Judging from you, I would have guessed it was trial and error." -
Thanks I'll give that a go.Originally posted by lilelvis2000 View PostI'm not a mySQL guru but is there a way to spit out the rownum?
Something like select @rownum:=@rownum+1, ID, ..... from ... where @rownum <=20;
insert that into a temporary table and then
delete from tableA where ID not in (select ID from tmptable)Comment
-
-
I'm clueless when it comes to sqlOriginally posted by FiveTimes View PostCan you not use the order by limit 20 in the delete statement ?
Comment
-
well this will give you the first 20 rowsOriginally posted by Cliphead View PostI have several tables containing over 20k rows. Is there a quick way to delete all but the first 20 rows in each of the tables?
SELECT tableid FROM {table} ORDER BY {row} asc LIMIT 20
so something like will work
delete from table where tableid not in (
SELECT tableid FROM {table} ORDER BY {row} asc LIMIT 20)merely at clientco for the entertainmentComment
-
Good stuff.McCoy: "Medical men are trained in logic."
Spock: "Trained? Judging from you, I would have guessed it was trial and error."Comment
-
How many tables? Do the tables have an ID column? As other posters have said you can simply delete where ID > 20 so
DELETE from TABLE where ID > 20;Comment
-
dunno mysql but in Oracle you could use the rownum, mysql prob has something similar,Originally posted by Cliphead View PostI'm clueless when it comes to sql
or perhaps SELECT * FROM TABLE WHERE NOT IN (SELECT TOP 20 * FROM TABLE)sufficiently advanced stupidity is indistinguishable from malice - Asimov (sort of)
there is no art in a factory, not even in an art factory - Mixerman
everyone is stupid some of the time - trad.Comment
-
Use phpmyadmin or Mysql Workbench and select/delete with your mouse.Originally posted by Cliphead View PostI have several tables containing over 20k rows. Is there a quick way to delete all but the first 20 rows in each of the tables?Comment
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers
Contractor Services
CUK News
- New UK crypto rules now apply. Here’s how mandatory reporting affects contractors Today 07:03
- What the Ray McCann Loan Charge Review means for contractors Yesterday 06:21
- IT contractor demand defied seasonal slump in December 2025 Jan 13 07:10
- Five tax return hacks for contractors as Jan 31st looms Jan 12 07:45
- How to land a temporary technology job in 2026 Jan 9 07:01
- Spring Forecast 2026 ‘won’t put up taxes on contractors’ Jan 8 07:26
- Six things coming to contractors in 2026: a year of change, caution and (maybe) opportunity Jan 7 06:24
- Umbrella companies, beware JSL tunnel vision now that the Employment Rights Act is law Jan 6 06:11
- 26 predictions for UK IT contracting in 2026 Jan 5 07:17
- How salary sacrifice pension changes will hit contractors Dec 24 07:48

Comment