2010-03-10 5 views
2

나는 지금 조금 해왔다. 기본적으로 데이터베이스의 웹 로그 항목에 대한 조회수를 계산하기 위해 파생 된 열을 추가해야합니다. 문제는 첫 번째 레코드에서만 조회수가 합산되고 표시된다는 것입니다. 어떤 아이디어? 내가 말하는 질의의 일부를 담대하게했습니다. 쿼리는 다음과 같습니다 :SQL 쿼리 문제

SELECT DISTINCT(t.entry_id), 
    exp_categories.rank, 
    **exp_hits.hits,** 
    t.entry_id, 
    t.weblog_id, 
    t.forum_topic_id, 
    t.author_id, 
    t.ip_address, 
    t.title, 
    t.url_title, 
    t.status, 
    t.dst_enabled, 
    t.view_count_one, 
    t.view_count_two, 
    t.view_count_three, 
    t.view_count_four, 
    t.allow_comments, 
    t.comment_expiration_date, 
    t.allow_trackbacks, 
    t.sticky, 
    t.entry_date, 
    t.year, 
    t.month, 
    t.day, 
    t.entry_date, 
    t.edit_date, 
    t.expiration_date, 
    t.recent_comment_date, 
    t.comment_total, 
    t.trackback_total, 
    t.sent_trackbacks, 
    t.recent_trackback_date, 
    t.site_id as entry_site_id, 
    w.blog_title, 
    w.blog_name, 
    w.search_results_url, 
    w.search_excerpt, 
    w.blog_url, 
    w.comment_url, 
    w.tb_return_url, 
    w.comment_moderate, 
    w.weblog_html_formatting, 
    w.weblog_allow_img_urls, 
    w.weblog_auto_link_urls, 
    w.enable_trackbacks, 
    w.trackback_use_url_title, 
    w.trackback_field, 
    w.trackback_use_captcha, 
    w.trackback_system_enabled, 
    m.username, 
    m.email, 
    m.url, 
    m.screen_name, 
    m.location, 
    m.occupation, 
    m.interests, 
    m.aol_im, 
    m.yahoo_im, 
    m.msn_im, 
    m.icq, 
    m.signature, 
    m.sig_img_filename, 
    m.sig_img_width, 
    m.sig_img_height, 
    m.avatar_filename, 
    m.avatar_width, 
    m.avatar_height, 
    m.photo_filename, 
    m.photo_width, 
    m.photo_height, 
    m.group_id, 
    m.member_id, 
    m.bday_d, 
    m.bday_m, 
    m.bday_y, 
    m.bio, 
    md.*, 
    wd.* 
FROM exp_weblog_titles AS t 
    LEFT JOIN exp_weblogs AS w ON t.weblog_id = w.weblog_id 
    LEFT JOIN exp_weblog_data AS wd ON t.entry_id = wd.entry_id 
    LEFT JOIN exp_members AS m ON m.member_id = t.author_id 
    LEFT JOIN exp_member_data AS md ON md.member_id = m.member_id 
    LEFT JOIN exp_category_posts ON wd.entry_id = exp_category_posts.entry_id 
    **LEFT JOIN 
    (
     SELECT COUNT(*) AS hits, exp_hits.entry_id FROM exp_hits ORDER BY exp_hits.entry_id 
    ) exp_hits ON t.entry_id = exp_hits.entry_id** 
    LEFT JOIN 
    ( 
     SELECT exp_categories.cat_id, cat_name as rank 
     FROM exp_categories 
     WHERE exp_categories.group_id = '9' 
    ) exp_categories ON exp_categories.cat_id = exp_category_posts.cat_id 
WHERE t.entry_id IN (2,3,4) ORDER BY exp_categories.rank DESC, **exp_hits.hits DESC**, entry_date desc 

답변

3

호기심에서
SELECT COUNT(*) AS hits, 
    exp_hits.entry_id 
FROM exp_hits 
GROUP BY exp_hits.entry_id 
+1

잘 작동했습니다! 감사! –

0

에 부속 선택을 changeing 시도, 두/세/네 개의 필드 이미 view_count_one 달성 할 수없는 당신의 안타 기능 뭔가를 /입니다 ExpressionEngine 템플릿 태그가 지원하는 데이터베이스에 있습니까?

+0

예,보기 횟수 기능이 {weblog entries} 태그에 구현되어야하기 때문입니다. URL 액세스 항목에서는 작동하지 않습니다. –