SQL에 익숙하지 않아 LIMIT을 사용하지 않고 5 번째로 높은 값을 가져 오려고합니다. 여기 내가 시도하는 코드가 있지만 제대로 작동하지 않습니다. 5 번째로 높은 값 대신 5 번째로 낮은 값을 보여줍니다.LIMIT를 사용하지 않고 5 번째로 높은 값 선택
SELECT a . * FROM user AS a
WHERE 5 =
(SELECT count(DISTINCT b.id) FROM user AS b WHERE b.id >= a.id ORDER BY a.id DESC)
아무도 도와 줄 수 있습니까?
이SET @nth := 5;
SELECT
a.*
FROM jos_modules AS a
WHERE @nth = (
SELECT
COUNT(b.id)
FROM user AS b
WHERE
a.id >= b.id
);
그냥 4 시간 전에 http://stackoverflow.com/questions/10492357/sql-query-to-find-nth-highest-salary에 중복! – fankt
LIMIT을 사용하지 않는 이유는 무엇입니까? – gbn