我正在基于名称进行排序,为此,我正在使用rownum
,因为排序是根据我试图根据rownum
列提取下一个和上一个ID的名称。 / p>
我试图减去WHERE子句附近的子查询结果,但未显示任何结果。如果我直接放置一个数值,即3,它将正确减去。
我尝试过类型转换返回值,但仍然给我空结果集。
SELECT inner_id, first_name, rank as sort_id
FROM
(
SELECT id as inner_id, first_name, (@rownum:=@rownum+1) rank
FROM ympa_applications, (SELECT @rownum:=0) t
ORDER BY first_name ASC
) t WHERE rank = ( (SELECT DISTINCT CAST(rank AS UNSIGNED) FROM ympa_applications WHERE inner_id=132) - 1 )