我在mySql中有以下表格。sql沒有顯示正確的結果
博客
Field Type
---------- ------------
id int(11)
name varchar(255)
user_id int(11)
share int(14)
user_blog_analytics
Field Type
----------- ------------
id int(11)
blog_id int(11)
ip varchar(255)
impressions int(11)
date date
user_profile
Field Type
----------- ------------
id int(11)
user_id int(11)
description text
share int(14)
個user_profile_analytics
Field Type
----------- ------------
id int(11)
user_id int(11)
ip varchar(255)
impressions int(11)
date date
用戶
我想要一個查詢,讓我每個用戶的總博客股份從blog
表,從user_profile
表中每個用戶的總輪廓股,佔總博客的觀點從昨天即從user_blog_analytics
表,所有時間觀點從user_profile_analytics
表中的配置文件。
我創建了一個查詢,但沒有給我我期望的結果,它只給了我很少的結果。
SELECT a.user_id, COUNT(DISTINCT b.ip) AS blog_view_count, a.share AS blog_share_count, c.share AS profile_share_count, COUNT(DISTINCT d.ip) AS user_profile_view
FROM blog AS a
JOIN user_blog_analytics AS b ON b.blog_id=a.id
JOIN user_profile AS c ON c.user_id=a.user_id
JOIN user_profile_analytics AS d ON d.user_id=c.user_id
JOIN users AS e ON e.id=a.user_id
WHERE DATE_SUB(CURDATE(), INTERVAL 1 DAY) = b.date AND e.role_id=2
GROUP BY a.id;
當我運行此查詢它給了我只有一個結果,但是當我手工檢查表那麼就應該給我至少2分的結果。告訴我我錯在哪裏,如何通過修改此查詢來獲得結果。
這很難說沒有數據,但你有幾個聚合件在那裏。你能分享你得到的結果和你期望的結果嗎?這可能是足夠的數據來說明發生了什麼。 – 2014-12-09 11:31:16
那麼用戶可以有多個配置文件?什麼是INT(14)? !?!?! – Strawberry 2014-12-09 11:32:22