考虑下表
users tweets
-------------------- -----------------------------
user_id neu pos neg id _date user_id class
-------------------- -----------------------------
1 1 2011-02-13 1 1
2 2 2011-02-13 1 2
3 2011-02-15 2 1
4 2011-02-16 2 3
5 2011-02-16 2 3
数据库中的每条推文都经过分析和分类。tweets.class
可以是1
(中性)、2
(正)或3
(负)。我需要一个查询来计算每个用户的所有neu
(中性、pos
(正面)和neg
(负面)推文。查询的最终结果将是和UPDATE
d users
-table,如下所示:
users
--------------------
user_id neu pos neg
--------------------
1 1 1 0
2 1 0 3
我现在有,但这根本不起作用。是朝着正确的方向前进吗?
update users u left join (
select count(t.id) as neu from tweets t where class = 1
) on u.user_id = t.user_id
set u.neu = coalesce(neu,0)