我试图使用MAX()函数和SQL中的SQL LIKE运算符来获取最大值行。
Table
ID | meta_key | meta_value
---------------------------------
1 |best_score_1 | 10
1 |best_score_2 | 20
1 |best_score_3 | 30
1 |best_score_4 | 40
这是我的sql
SELECT MAX(meta_value), meta_key FROM Table WHERE meta_key LIKE '%\_best_score%'
显示正确的最大值,问题是,meta_key显示错误,输出应为best_score_4和40,但它会产生best_score_1和40。 我想知道我错过了哪一部分?
答案 0 :(得分:0)
在这种情况下,只需使用ORDER BY
LIMIT 1
:
SELECT meta_value, meta_key
FROM Table
WHERE meta_key LIKE '%best_score%'
ORDER BY meta_value DESC
LIMIT 1