首页 > 解决方案 > SQL子查询返回值减法

问题描述

我正在根据名称进行排序,为此,我正在使用rownum,因为排序是根据我尝试获取的下一个名称和根据rownum列的 prev id 进行的。

我试图在 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 )

标签: phpmysqldatabase

解决方案


推荐阅读