mysql 데이터베이스에서 지정한 datetime에 가장 가까운 datetime 값을 찾으려고하는데 문제가 있습니다. 이 밝혀 쿼리가,mysql 쿼리에서 지정한 datetime에 가장 가까운 datetime 찾기
답장 편집
덕분에 지금까지 사전에
SELECT one FROM table WHERE datetimefield is closest to "2014-12-10 09:45:00" LIMIT 1
감사 :
다음 의사 코드는 내가 달성하고자하는 것입니다 원하는 결과를 얻으려고 처음 생각한 것보다 조금 더 복잡해졌지만, ABS 방법은 몇 가지 추가 작업으로 훌륭하게 작동합니다.
다음 질문은 어쨌든 다음 쿼리의 성능 요구 사항을 줄이려고합니까?
SELECT DISTINCT timegenerated, *other values*
FROM table1 e INNER JOIN table2 dt
ON e.circuit = dt.circuit
WHERE dt.circuit IN ("2", "3", "4", "5", "6", "7", "8")
AND e.circuit != 1
AND dt.siteid = 435
ORDER BY ABS(TIMESTAMPDIFF(MINUTE, timegenerated, "2014-12-09 14:15:00")) LIMIT 7
또는 그것은 현재 다른 배열에서 각 날짜에 실행되고있다하지만 난이 실현 내가 여러 특정 날짜 시간 (아마도 최대 90 일)와 일치 할 수 있어야하므로 여러 날짜를 일치하도록 incorprate 최적이 아닙니다. 쿼리는 PHP에서 동적으로 생성됩니다.
쿼리 시간은 현재 쿼리 당 약 1.1 초이므로이 30 회 이상 실행하면 문제가 발생하므로 테이블에 수십만 개의 행이 있습니다.
다시 한 번 감사드립니다. 당신이 가장 가까운 일 전에 원하는 경우
:
감사합니다, 내가 업데이트 한 OP는 작동하는 업데이트 된 쿼리로 작동하지만 성능면에서 매우 중요합니다. 빛이 좀 비춰지면 –
@ JackHayfield. . . 편집 된 부분은이 질문에 대한 부록이 아닌 다른 질문이어야합니다. –