我正在尝试从具有ID列的表中获取一行,该ID列在SQlite数据库的几行中重复,但是我正在获取表中的所有行。
这是我的表创建和选择查询。
CREATE TABLE IMAGES ( MID INTEGER , IMAGE BLOB, ID INTEGER );
SELECT DISTINCT ID, IMAGE FROM IMAGES;
这就是我得到的
mid | image | id
1 | m1 | 1
2 | m2 | 1
3 | m3 | 1
4 | m4 | 2
5 | m5 | 3
6 | m6 | 3
这就是我想要的
mid | image | id
1 | m1 | 1
4 | m4 | 2
5 | m5 | 3
最佳答案
您需要选择正确的列
SELECT min(mid) FROM images GROUP BY id;
然后,您需要使用它来选择正确的行。
SELECT DISTINCT ID, IMAGE FROM IMAGES WHERE mid in (SELECT min(mid) FROM images GROUP BY id);
否则,可以从任何行(或最后一行)组成GROUP BY的记录。
关于sqlite - SQLite选择查询以从具有相同ID的多行中获取一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33451332/