my blog에 페이지 조회수로 가장 인기있는 10 가지 기사를 오른쪽 탐색 메뉴에 표시합니다. 내가하고 싶은 무엇MySQL에서 하루에 페이지 조회수를 계산하는 가장 좋은 방법은
SELECT *
FROM entries
WHERE is_published = 1
ORDER BY hits DESC, created DESC
LIMIT 10
하루 페이지의 측면에서 상위 10 명중 을 보여입니다 : 그 얼마나 여기입니다. MySQL을 사용하고 있습니다. 데이터베이스에서이 작업을 수행 할 수있는 방법이 있습니까?
BTW, created
필드는 datetime입니다.
업데이트 : 나는 분명히하지 않았다고 생각합니다. 내가 원하는 것은 1,000 일 전에 게시 된 10,000 개의 히트가있는 블로그 게시물에 대해 1 일 전에 게시 된 10 개의 히트가있는 블로그 게시물과 동일한 인기를 얻는 것입니다.
ORDER BY hits/days since posting
... hits
는 블로그 포스트를 볼 때마다 증가합니다 그냥 int이며 : 의사 코드에서.
OK, 여기 내가 사용하는거야 무슨 :
SELECT *, AVG(
hits/DATEDIFF(NOW(), created)
) AS avg_hits
FROM entries
WHERE is_published = 1
GROUP BY id
ORDER BY avg_hits DESC, hits DESC, created DESC
LIMIT 10
감사합니다, 스티븐을! (이 사이트를 좋아합니다 ...)
이것은 올바른 생각이지만 avg_hits로 주문 하시겠습니까? –
그래, 나는 지난 5 분 동안 약 5 개의 대답을 했어. 나는 물건을 잊어 버린 채로있는 것 같다 ... –
검색어에 오타가있다, btw. 선택에 다른 닫는 괄호가 필요합니다. –