제목 변경: MySQL에서 좋아요 수와 시간 상관 관계를 기준으로 테이블을 정렬하는 방법은 무엇입니까?
P粉771233336
P粉771233336 2023-09-09 09:22:12
0
1
580

간단한 문제가 있습니다. 두 개의 mysql 테이블이 있는데 하나는 사진을 저장하고 다른 하나는 좋아요를 저장합니다. 구조는 다음과 같습니다:

으아악

이제 좋아요 수를 기준으로 사진을 쉽게 정렬하고 상위 3위를 얻을 수 있습니다. 다음 쿼리를 사용할 수 있습니다.

으아악

하지만 시간적 상관 관계를 추가하고 싶습니다. 즉, 새로운 좋아요의 "가중치"가 더 높습니다. 일부 사진의 좋아요가 더 많더라도 오래되었으므로 좋아요보다 순위가 낮습니다. 적지만 최신 사진입니다.

MySQL만 사용하여 이 문제를 해결할 수 있나요? 아니면 PHP에서 추가 처리가 필요합니까?

P粉771233336
P粉771233336

모든 응답(1)
P粉958986070

likestimestamp가 UNIXTIME 필드인 경우를 고려하면 새 좋아요 수를 계산하는 대신 SUM(타임스탬프)을 사용하면 더 많은 가중치가 부여됩니다.

으아악

일부 계수를 사용할 수 있습니다(예: UNIX_TIMESTAMP())

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿