누군가 내 사이트에서 블로그 기사를 방문 할 때마다 [blog_article_hits] 테이블에이를 기록합니다. 각 방문에는 한 행이 있습니다. 이제 기사 제목과받은 조회수 또는 비율을 보여주는 지난 14 일 간의 인기있는 기사 목록을 표시하려고합니다.MySQL - 레코드 계산 및 카운트와 함께 인기순 순서대로 표시
예 :
This is a blog article 1,0732
This is another article 930
내 시도 :
SELECT
tre.article_id, COUNT(*) AS total_hits, art.title, art.description,
pho.photo_id
FROM blog_article_stats tre
LEFT JOIN blog_articles AS art ON tre.article_id = art.article_id
LEFT JOIN blog_photos AS pho ON art.article_id = pho.article_id
WHERE tre.d_time BETWEEN DATE_SUB(Now(), INTERVAL 14 DAY) AND Now()
AND pho.status = 'Published' AND art.status = 'Published'
GROUP BY tre.article_id
ORDER BY total_hits DESC LIMIT 5
그것은 아주 가까이 있지만 매우 옳지 않다. 가장 인기있는 기사가 올바른 순서로 나열되어 있지만 각 제목 옆의 수는 정확하지 않습니다. 실제로 얼마나 많은 사진이 방문되었는지가 아니라 각 기사에 대해 얼마나 많은 사진이 있는지를 보여줍니다. GROUP BY를 사용하면 도움이 될 것 같아서 [pho.article_id]에 보조 GROUP 절을 추가하려고 시도했지만 도움이되지 않습니다.
[pho.photo_id]을 (를) 선택하고 [pho.blog_photos]에 가입했습니다. 순전히 각 나열된 결과 옆에 사진 한 개를 표시하고 싶습니다.
아무도이 문제를 해결하는 방법에 대해 조언을 해 줄 수 있습니까?
많은 덕분에 adv.
감사합니다 ypercube, 치료를했습니다. – ShadowStorm