ユーザーの信頼性を追跡するテーブルがあります。数値がゼロになるだけでカウントがNULLを返す
+-----------------+-----------------+-------------+
| user_id_1 | user_id_2 | is_trusted |
+-----------------+-----------------+-------------+
| 1 | 2 | 0 |
...
ここで、1は信頼され、0は信頼できません。否定的なフィードバックがない場合は、値としてNULLが返されます。正に - 0を得る方法はありますか?
select tr2.user_id_2 user,
((select count(*) plus
from trust_ratings tr
where is_trusted = 1 and
tr2.user_id_2 = tr.user_id_2
group by tr.user_id_2)
-
(select count(*) minus
from trust_ratings tr
where is_trusted = 0 and
tr2.user_id_2 = tr.user_id_2
group by tr.user_id_2)) as score
from trust_ratings tr2
group by user;
:
かを? –
はい、正しい番号が付けられています。 –