간단한 문제가 있습니다. 두 개의 mysql 테이블이 있는데 하나는 사진을 저장하고 다른 하나는 좋아요를 저장합니다. 구조는 다음과 같습니다:
으아악이제 좋아요 수를 기준으로 사진을 쉽게 정렬하고 상위 3위를 얻을 수 있습니다. 다음 쿼리를 사용할 수 있습니다.
으아악하지만 시간적 상관 관계를 추가하고 싶습니다. 즉, 새로운 좋아요의 "가중치"가 더 높습니다. 일부 사진의 좋아요가 더 많더라도 오래되었으므로 좋아요보다 순위가 낮습니다. 적지만 최신 사진입니다.
MySQL만 사용하여 이 문제를 해결할 수 있나요? 아니면 PHP에서 추가 처리가 필요합니까?
likes
。timestamp
가 UNIXTIME 필드인 경우를 고려하면 새 좋아요 수를 계산하는 대신 SUM(타임스탬프)을 사용하면 더 많은 가중치가 부여됩니다.일부 계수를 사용할 수 있습니다(예: UNIX_TIMESTAMP())
으아악