我有一个由单词和相关数字组成的简单 MySQL 表。每个单词的数字都是唯一的。我想找到索引大于给定数字的第一个单词。举个例子:
-----------------------
| WORD: | F_INDEX: |
|---------------------|
| a | 5 |
| cat | 12 |
| bat | 4002 |
-----------------------
如果给我数字“9”,我希望返回“cat”,因为它是索引大于 9 的第一个单词。
我知道我可以通过查询获得完整的排序行列表:
SELECT * FROM table_name ORDER BY f_index;
但是,相反,希望创建一个执行此操作的 MySQL 查询。(混淆在于我不确定如何跟踪查询中的当前行)。我知道可以这样循环:
CREATE PROCEDURE looper(desired_index INT)
BEGIN
DECLARE current_index int DEFAULT 0
// Loop here, setting current_index to whatever the next rows index is,
// then do a comparison to check it to our desired_index, breaking out
// if it is greater.
END;
任何帮助将不胜感激。