[英]MYSQL SELECT including COUNT within the same table with reference to specific column
因此,我使用包含SELECT COUNT
的簡單SELECT
語句從一個表中獲取數據。
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 提供相同的結果。
我錯過了什么??
您需要為表提供不同的別名以獲取相關計數
SELECT *, (
SELECT COUNT(`message_id`)
FROM `user_message` b
WHERE `status_to` = 0
AND `a`.`user_id` = `b`.`user_id`
) AS `unread`
FROM `user_message` a
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.