SQLite select查询从多行获取一行具有相同的id

时间:2015-10-31 12:03:11

标签: sqlite select duplicates row

我正在尝试从表中获取一行,其中一列id列在SQlite数据库的多行中重复,但我得到表中的所有行。

这是我的表创建和选择查询。

.gradle/

这就是我得到的

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

2 个答案:

答案 0 :(得分:1)

DISTINCT适用于所有SELECTed列,即您在数据中获得idimage的每个唯一组合。

要控制哪些列进行重复数据删除,请使用GROUP BY。 您还必须为每个ID指定所需的图像;如果你不使用MIN(),你会得到一个随机图像:

SELECT id, MIN(image)
FROM images
GROUP BY id;

答案 1 :(得分:0)

您需要选择正确的列

var appView = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
appView.Title = "Minesweeper Classic";

然后你需要用它来选择正确的行。

SELECT min(mid) FROM images GROUP BY id;

否则GROUP BY的记录可以由任何(或最后一行)组成。