Mysql 基于关键字获取最高值

Mysql 基于关键字获取最高值,mysql,sql,sqlite,Mysql,Sql,Sqlite,我的SQLite数据库结构很差。结构如下所示: ID | USERID | KEY | VALUE key列包含一个用户的一些数据的名称,这意味着我有多个具有相同USERID的行。我要做的是对其进行过滤,以便获得以下输出: 遍历整个数据库并搜索与某个键匹配的最高值。例如: ID | USERID | KEY | VALUE 1 | banana | abc12 | 3 2

我的SQLite数据库结构很差。结构如下所示:

ID | USERID | KEY | VALUE

key列包含一个用户的一些数据的名称,这意味着我有多个具有相同USERID的行。我要做的是对其进行过滤,以便获得以下输出:

遍历整个数据库并搜索与某个键匹配的最高值。例如:

ID     |      USERID     |       KEY         |     VALUE
1      |      banana     |       abc12       |     3
2      |      apple      |       def34       |     4
3      |     pineapple   |       abc12       |     5
我只想检查是否找到键列中的单词(例如
abc12
)。因此,如果
abc12
是列键的值,则应检查其值是否高于上一个最高值。最后,在运行查询后,我应该会得到以下结果:

ID:3(因为该值是5,并且是
abc12
关键字中的最高值)


我期待着您的想法。

编辑:哇,jk,出于某种原因,我以为您想要第二高的价值

你可以用

选择ID
从[表]
其中KEY=[值]
按值排序描述
限制1

(旧答案)

差不多

选择值
从[表]
WHERE键,如“%:value:%
(我假设为LIKE,因为您说它只希望包含,而不是完全匹配) 按值排序描述 限制1,1 `


LIMIT 1,1
将选择第二高的行(第一行,偏移量1)。如果只有一行匹配,则不确定该操作如何失败。

我希望它匹配某个键,呃。哦,我的错误,然后使用
=