我有一个包含以下列(urls)的表:
[id,url,visited,timestamp]
Types:[int,string,int,long]
Run Code Online (Sandbox Code Playgroud)
我想要:
删除除10个未访问的优先级更高的时间戳之外的所有URL(或者如果访问所有访问者,则删除所有URL)
它可以在一个查询中执行此操作吗?无论如何最好的查询(查询)是做什么的?
提前致谢
diz*_*ave 23
我不认为TOP在sqlite中工作 - 需要使用LIMIT
DELETE FROM mytable WHERE id NOT IN (
SELECT id FROM mytable
WHERE visited = false
ORDER BY timestamp DESC
LIMIT 10
)
Run Code Online (Sandbox Code Playgroud)
DELETE FROM tableofDeletion
WHERE
-- Delete all items not in the following select
-- ordered by the timestamp so we can get the top 10
id NOT IN (SELECT id
FROM tableofDeletion
WHERE
visited = 0 -- false
ORDER BY timestamp DESC
LIMIT 10)
Run Code Online (Sandbox Code Playgroud)
我认为这可以满足您的需求.
| 归档时间: |
|
| 查看次数: |
23886 次 |
| 最近记录: |