我有一个MySql表(Pin_codes)。首先,我想从这个表中选择200行并导出它们,然后删除这200行。
如果这个表的If是连续的,我可以这样做:
SELECT * FROM pin_codes WHERE id<200 and id>1;
DELETE FROM pin_codes WHERE id<200 and id>1;但是ID是这样的:
52138
52139
52141
52142
52144
52147
52148
52157
52158
...我怎么能这么做?
发布于 2013-12-15 07:45:18
Select * from pin_codes order by id limit 200将给出基于id的前200行,然后可以删除这200个id的
Delete from pin-codes order by id limit 200删除前200行
另外,使用列名代替*(查询优化)也是最佳实践。
发布于 2013-12-15 07:56:50
发布于 2013-12-15 07:47:08
MySql:
SELECT * FROM table1
ORDER BY ID DESC
LIMIT 200Server:
Select FROM table1
WHERE id IN
(
SELECT TOP 200
id
FROM table1
WHERE YourConditions
ORDER BY ExplicitSortOrder
)上面的查询将删除特定的行子集,您应该显式地指定子查询的顺序:
若要删除200行,请通过将Select关键字更改为Delete来使用上述查询
https://stackoverflow.com/questions/20592333
复制相似问题