我需要根据具有唯一名称的列“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
第一行是列名称。过滤应按“categ”列进行。 我需要从每个类别中获取 1 行结果。 类别名称仅作为示例,在真实表中,“类别”名称是人名(例如:John、Mary 等)
有什么建议吗?
最佳答案
您可以使用 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;
关于sqlite 仅选择列中具有唯一单元格的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970800/