想知道如何编写SQL函数以查找表中的第N个最大元素,如果没有第N个最大元素,则返回Null。
使用MySQL / MySQL工作台。
顺便说一句,我的问题与第N个最高薪水问题不同,因为我还有一个附加要求,如果第N个最大元素不存在,则返回Null。任何想法表示赞赏。
预先感谢林
您可以这样做:
SELECT t1.* FROM ( SELECT * FROM my_table ORDER BY value DESC LIMIT 1 OFFSET N -- Set your value for N here, N being 0-based ) t1 RIGHT OUTER JOIN ( SELECT null -- This will guarantee that you have at least one row ) t2 ON TRUE