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

标签 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

第一行是列名称。过滤应按“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/

相关文章:

sql - 我认为正确的外部连接可以解决这个问题,但是

尽管使用内容提供程序和顺序数据库访问,android sqlite "database is locked"错误

python - 将UNICODE插入sqlite3

google-app-engine - Sqlite DB方案到Django模型

android - 如何检查sqlite数据库中的表是否存在,如果不存在则创建一个并插入数据

android - 如何克服数据库锁定异常?

ruby-on-rails - Rails新的app_name由于Sqlite3问题而失败

sql - tup SQL 重置错误 : database is locked

ios - 使用XCode构建Sqlite ICU

android - 将相机捕获的图像存储在 SQLite 数据库中