Mysql 基于关键字获取最高值
我的SQLite数据库结构很差。结构如下所示:Mysql 基于关键字获取最高值,mysql,sql,sqlite,Mysql,Sql,Sqlite,我的SQLite数据库结构很差。结构如下所示: ID | USERID | KEY | VALUE key列包含一个用户的一些数据的名称,这意味着我有多个具有相同USERID的行。我要做的是对其进行过滤,以便获得以下输出: 遍历整个数据库并搜索与某个键匹配的最高值。例如: ID | USERID | KEY | VALUE 1 | banana | abc12 | 3 2
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)。如果只有一行匹配,则不确定该操作如何失败。我希望它匹配某个键,呃。哦,我的错误,然后使用=
。