MySQL 테이블에서 매우 복잡한 쿼리를 수행하려고합니다. 현재이 MySQL 테이블은 IP, 국가, event_id 등의 사용자 정보와 특정 이벤트에 대한 date_start date_end와 같은 많은 통계를 저장합니다..복잡한 MySQL 쿼리
특정 event_id는 date_start으로 시작하고 사용자가 종료하면 date_end 열에 time() 값이 기록됩니다.
어떻게 든 suspicous
명의 사용자 (ids return
)를 찾으려면 검색어를 원합니다. 의심스러운 사용자를 정의하는 규칙은 다음과 같습니다.
user_id
에 대한 데이터베이스가 여러 국가에서 연결되어 있습니다.country column
특정 EVENT_ID 대한 데이터베이스 많은 행이다른 값을 갖는다 이때 (DATE_END-DATE_START)의
SUM
는 예+50%
값을 가지고 다른 모든 것보다 다른 이벤트의 (date-end-date_start)의 SUM. 간단한 단어로 쿼리는 일부 이벤트에 너무 많은 시간을 소비 한 user_ids를보고해야하지만 다른 이벤트에서는 너무 많은 시간을 소비하지 않습니다. % percent 값은 구성 가능해야합니다.
나는 미친 소리가 나는 것을 안다. 그러나 나는 그것을하려고 노력했다. 그리고 나는 그렇게 많이 실패했다. 나는 PHP를 사용하여 그렇게했지만 속도가 느리며 쿼리를 통해 수행 할 수 있다고 확신합니다.
당신에게
초기 문제 : 관련된 각 테이블에 대해'describe table; '결과를 게시하십시오. 그런 다음 각 테이블에 대해'select * from table; '의 샘플 내보내기를 게시하십시오. 마지막으로 달성하고자하는 샘플 출력 예제를 게시하십시오. 특히 SQL 문제의 경우 올바른 형식 지정과 문제의 표현은 대답을 얻는 데 중요합니다. 행운을 빕니다. 추신 : 당신의 문제는 생각보다 훨씬 쉬워 보입니다. – Sebas