나는 모든 Grouped에서 내 테이블에서 두 번째로 낮은 행을 얻으려고합니다. 나는 이미 가장 낮은 것이 있지만 이제 두 번째로 낮은 것이 필요합니다. 내 나쁜 영어를 위해 외쳐
누군가 해결책을 알고 있습니까?
SELECT bestlellangaben
FROM bestellangaben
JOIN
(
SELECT MIN(ID) AS newid
FROM bestellangaben
WHERE SeitenID = 185
GROUP BY grouping
) AS temp ON ID = temp.newid
MySQL에서이 작업을 수행하는 정교한 방법을 모르기 때문에 여기에 두 가지 무차별 대입 솔루션이 있습니다.
SELECT
b.*
FROM
bestellangaben b
INNER JOIN
(
SELECT
b.grouping,
b.SeitenID,
MIN(b.ID) AS MinID2
FROM
bestellangaben b
INNER JOIN
(
SELECT
b.grouping,
b.SeitenID,
MIN(b.ID) AS MinID
FROM
bestellangaben b
GROUP BY
b.grouping,
b.SeitenID
)
b_min
ON b_min.grouping = b.grouping
AND b_min.SeitenID = b.SeitenID
AND b_min.MinID < b.ID
GROUP BY
b.grouping,
b.SeitenID
)
b_2min
ON b_2min.grouping = b.grouping
AND b_2min.SeitenID = b.SeitenID
AND b_2min.MinID2 = b.ID
WHERE
b.SeitenID = 185
또는 상관 하위 쿼리 사용 ...
SELECT
b.*
FROM
bestellangaben b
WHERE
b.SeitenID = 185
AND (
SELECT
COUNT(*)
FROM
bestellangaben lookup
WHERE
lookup.grouping = b.grouping
AND lookup.SeitenID = b.SeitenID
AND lookup.ID < b.ID
)
= 1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다