sqlite仅选择列中具有唯一单元格的第一行

时间:2017-07-07 12:29:12

标签: sqlite

我需要从sqlite表中选择基于列" categ"第一行有唯一名称。 这就是我所拥有的:

|id     |val    |categ
|1      |any1   |categ1
|2      |any2   |categ1
|3      |any3   |categ2
|4      |any4   |categ2
|5      |any5   |categ2
|6      |any6   |categ3
|7      |any7   |categ3
|8      |any8   |categ4
|9      |any9   |categ4
|10     |any10  |categ4

这就是我需要的结果:

|id     |val    |categ
|1      |any1   |categ1
|3      |any3   |categ2
|6      |any6   |categ3
|8      |any8   |categ4

第一行是列名。过滤器应按列" categ"来完成。 我需要从每个类别获得结果1行。 categs的名称就是一个例子,在实际表格中" categ"名字是人名(例如:John,Mary等)

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以使用GROUP BY为每个类别获取一行。在SQLite中,您可以use MIN() to control which row in a group to return

SELECT min(id) AS id, val, categ
FROM MyTable
GROUP BY categ;

答案 1 :(得分:-1)

在分类列

上使用Group By子句