gpt4 book ai didi

mysql - 在mysql select查询上的多个连接中计算多个字段

转载 作者:行者123 更新时间:2023-11-29 20:51:42 24 4
gpt4 key购买 nike

我想在注释详细信息页面中显示注释的总评论数、总喜欢数、总不喜欢数。以下是我从中获取数据的三个表。

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com