【发布时间】:2018-03-26 17:52:41
【问题描述】:
所以,我使用简单的SELECT 语句从一个表中获取数据,其中包含SELECT COUNT。
SELECT *,
(SELECT COUNT(`message_id`)
FROM `user_message`
WHERE `status_to` = 0
) AS `unread`
FROM `user_message`
在这里,unread 计算来自其他用户的未读消息。但这还不够。我想要的是在同一个表中将SELECT COUNT 引用到特定列user_id:
SELECT *,
(SELECT COUNT(`message_id`)
FROM `user_message`
WHERE `status_to` = 0 AND `user_message`.`user_id` = `user_message`.`user_id`
) AS `unread`
FROM `user_message`
.. 如果这有意义的话。我的第二个语句忽略了这部分:AND user_message.user_id = user_message.user_id,并为每个 user_id 给出了相同的结果。
我错过了什么?
【问题讨论】: