- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在注释详细信息页面中显示注释的总评论数、总喜欢数、总不喜欢数。以下是我从中获取数据的三个表。
tbl_note_actions
noteaction_note_id
int(11) NOT NULL,
noteaction_user_id
int(11) NOT NULL,noteaction_type
tinyint(1) NOT NULL COMMENT '1->like, 0->dislike',
PRIMARY KEY (noteaction_note_id
,noteaction_user_id
)tbl_notes_comments
notepost_id
int(11) NOT NULL AUTO_INCREMENT,
notepost_note_id
int(11) NOT NULL,notepost_user_id
int(11) NOT NULL,
notepost_message
text NOT NULL,
notepost_rating
tinyint(1) NOT NULL,
notepost_parent_id
int(11) NOT NULL,
notepost_added_on
datetime NOT NULL,
notepost_active
tinyint(1) NOT NULL DEFAULT '1',
notepost_deleted
tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (notepost_id
)tbl_notes
note_id
int(11) NOT NULL AUTO_INCREMENT,
note_notetype_id
int(11) NOT NULL,
note_user_id
int(11) NOT NULL,
note_description
text NOT NULL, PRIMARY KEY (note_id
)
它显示的总喜欢、总不喜欢和总评论的计数是错误的。
这是我的查询:
SELECT
note_id,
note_notetype_id,
note_user_id,
note_name,
note_description,
COUNT( DISTINCT notepost_note_id) AS totComments,
note_id,
count(if(noteaction_type = 1, noteaction_note_id, NULL)) AS totlikes,
count( if(noteaction_type = 0, noteaction_note_id, NULL)) AS totdislikes
FROM `tbl_notes`
LEFT OUTER JOIN `tbl_users`
ON user_id= note_user_id
INNER JOIN `tbl_courses`
ON course_id = note_course_id
INNER JOIN `tbl_universities`
ON university_id = note_university_id
INNER JOIN `tbl_note_types`
ON notetype_id = note_notetype_id
LEFT OUTER JOIN `tbl_note_actions`
ON noteaction_note_id = note_id
LEFT OUTER JOIN `tbl_notes_posts`
ON notepost_note_id = note_id
WHERE `note_id` = '4'
GROUP BY note_id, notepost_id
结果是喜欢 1、不喜欢 1、评论 1,但实际上应该是喜欢 1、不喜欢 1、评论 4。
请帮我解决
谢谢
最佳答案
亲爱的,我想知道一件事为什么你使用 DISTINCT COUNT( DISTINCT notepost_note_id) AS totComments 因为如果我有一篇帖子有多个评论,那么你使用 DISTINCT 它将始终返回 1 个值发布
删除 DISTINCT 并检查
关于mysql - 在mysql select查询上的多个连接中计算多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37988091/
我是一名优秀的程序员,十分优秀!