1
아래의 하위 쿼리는 가장 가까운 날짜를 과거에 반환합니다.이 옵션을 적용하여 과거 또는 미래의 가장 가까운 날짜를 찾습니다.MySQL : 과거 또는 미래의 가장 가까운 날짜 찾기
SELECT date,
(SELECT value
FROM `users check-ins` as c
WHERE c.date < p.date AND `userid` = '$userid'
ORDER BY c.date DESC
LIMIT 1) as weight
FROM `users photos` as p
WHERE `userid` = '$userid'
ORDER BY date ASC
은 내가 ABS
및 DATEDIFF
기능에 대해 읽었지만 내가 상상했던 그들이 작업을 얻을 수 없습니다
SELECT date,
(SELECT value
FROM `users check-ins` as c
WHERE `userid` = '$userid'
ORDER BY ABS(DATEDIFF(c.date, p.date)) DESC
LIMIT 1) as weight
FROM `users photos` as p
WHERE `userid` = '$userid'
ORDER BY DATE ASC
그래서 하위 쿼리 p.date
value
를 반환해야합니다
편집 :
그녀 e는 SQLfiddle입니다.
이 지금에 오기 – Strawberry
SET 원하는 결과와 함께 (및/또는 sqlfiddle) 적절한 DDLs을 제공하는 것이 좋습니다. – ditto
일시적으로 반환되는 값 중 하나 인 ABS (DATEDIFF (c.date, p.date))를 추가 하시겠습니까? 그럼 실제로 무슨 일이 일어나는 지 알 수 있습니까? – Zoredache