遇到复杂的数据库查询,可使用中间表的方式连接查询查出正确的数据:
SELECT
d.id,
c.*
FROM
diz_reply AS d
INNER JOIN (
SELECT
target_id,
count(id) num,
a.to_userid,
a.model
FROM
diz_user_message AS a
WHERE
a.isRead = '0'
AND a.model = 'Reply'
GROUP BY
a.to_userid
) AS c ON d.id = c.target_id
统计的话可以使用group by 语句,能够对不同的参考条件进行统计:
SELECT
count(*),a.model
FROM
diz_user_message AS a
WHERE a.isRead='0' and a.to_userid='300133'
GROUP BY model