我正在尝试根据我的数据库中按字母(升序或降序)顺序的姓氏字段从 sqlite 检索下一条或上一条记录。但是,姓氏不是唯一字段,而且我只能为每个查询检索一条记录(LIMIT 1),因为我正在使用 sqlite 的回调机制,并且我不想为返回的每个可能结果缓冲结果从查询中(除非没有其他选项)。我还有一个名为 customerId 的唯一字段(即行 ID)。
这是我目前使用的语句:
stream << "select * from customerTable where LastName >= '" << customerLastName << "' order by LastName asc limit 1";
我尝试了其他一些陈述,例如:
stream << "select * from customerTable where LastName >= '" << customerLastName << "' and CustomerId != " << customerId << " order by LastName asc limit 1";
但这一条一直在两条同名的记录之间切换。
所以我需要找到一个技巧,无论姓氏是否相同,都能给我下一个(或上一个记录)。