[mysql]计数 (不同的) 与条件

标签: MySQL
发布时间: 2015/6/12 1:02:08
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有 3 表检索值从单个 Select 语句中是

DISCUSSIONUSER_INFO&DISCUSSION_COMMENT.

DISCUSSION_COMMENT ,我 USER_ID 列需要计数不同条目。

在这里我使用

SELECT COUNT(DISTINCT USER_ID) FROM DISCUSSION_COMMENT

和它的工作很好。

但我需要让单个 select 语句,以得到所有行的值

DISCUSSIONUSER_INFO和使用值 DIS_IDDISCUSSION 去找到的总计数

DISCUSSION_COMMENT 表像

SELECT COUNT(DISTINCT USER_ID) 
FROM DISCUSSION_COMMENT
WHERE DISCUSSION_COMMENT.DIS_ID=DISCUSSION.DIS_ID

DIS_ID 在哪里我在 DISCUSSION_COMMENT 中的外键。

解决方法 1:

你的问题还不清楚。它看起来像你需要加入:

SELECT COUNT(DISTINCT SCHEMA.USER_ID) 
FROM DISCUSSION_COMMENT
JOIN DISCUSSION ON DISCUSSION_COMMENT.DIS_ID=DISCUSSION.DIS_ID

在英语中,这将数的不同用户有评论的讨论。

如果你要实现参照完整性上的外键列,您可以只是检查如果 DIS_ID 不是 null:

SELECT COUNT(DISTINCT SCHEMA.USER_ID) 
FROM DISCUSSION_COMMENT
WHERE DIS_ID IS NOT NULL
官方微信
官方QQ群
31647020