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



我需要根据具有唯一名称的"categ"列从sqlite表中进行选择。 这是我所拥有的:

|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

第一行是列名。过滤器应按"分类"列完成。 我需要从每个类别中获得 1 行作为结果。 分类的名称只是示例,在实际表中,"分类"名称是人名(例如:约翰,玛丽等(

有什么建议吗?

您可以使用 GROUP BY 为每个类别获取一行。在 SQLite 中,您可以使用 MIN(( 来控制要返回组中的哪一行:

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

在分类列上使用分组依据子句

相关内容

最新更新