我对 SQLite 很陌生,因此问了这个问题!
我需要删除表中的行,以便根据 Y 列(时间)在 X(颜色)列中最早出现每个唯一值的列。
基本上我有这个:
测试 | 颜色 | 一次
| 黄色 | 8
个| 红色 | 6
一 | 黄色 | 10
两 | 红色 | 4
我想删除行,这样看起来像:
测试 | 颜色 | 一次
| 黄色 | 8
两 | 红色 | 4
提前致谢!
编辑:为了更清楚,无论测试如何,我都需要保留每种颜色出现的最早出现时间。
编辑:我可以通过这样做来选择我想要保留的行:
select * from ( select * from COL_TABLE order by time desc) x group by colour;
这会产生所需的结果,但我想删除选择结果中不存在的内容。
编辑:以下工作感谢@JimmyB:
DELETE FROM COL_TABLE WHERE EXISTS ( SELECT * FROM COL_TABLE t2 WHERE COL_TABLE …Run Code Online (Sandbox Code Playgroud)