我有以下 SQL 语句,它应该让我获得相对于当前记录的上一条或下一条记录:
SELECT DISTINCT name FROM items
WHERE category = ? AND $field $operator ? AND visible = 1
ORDER BY $field $direction LIMIT 1
变量设置如下:
// these two may change
$field = 'name';
$getNext = true;
if($getNext){
$direction = 'ASC';
$operator = '>';
}else{
$direction = 'DESC';
$operator = '<';
}
如果是一个唯一字段,这似乎有效$field
,但如果不是,当$getNext
设置为 false 时我会得到一些奇怪的结果(以前的记录):(
我怎样才能解决这个问题?