edit: whoa jk for some reason I thought you wanted the second highest value.
You can just use
SELECT ID
FROM [TABLE]
WHERE KEY = [VALUE]
ORDER BY VALUE DESC
LIMIT 1
(old answer)
Something like
SELECT VALUE
FROM [TABLE]
WHERE KEY LIKE "%:value:%
(I'm assuming LIKE because you said it just wants contains, not a exact match)
ORDER BY VALUE DESC
LIMIT 1, 1
`
LIMIT 1,1
will select the second highest row (first row, offset 1). Not sure how this fails if there is only 1 row that matches.