“MySql”查询没有为我提供正确的输出来匹配单词以标签/搜索的形式使用它们

问题描述 投票:0回答:1

我创建了一个 MySql 查询,通过连接两个表来计算两行中特定单词的总数。假设我有“测试”这个词,我想知道它来自两个表的次数。为此,我有以下疑问-

SELECT COUNT(*) AS count FROM `comments` INNER JOIN `replies` ON `comments`.`comment_id` = `replies`.`reply_comm_id` WHERE CONCAT (`comment_message`, `reply_message`) LIKE ('%testing%') AND `comments`.`comm_blog_id`=56;

上述查询的输出是

10

上述查询的输出

10
不正确,为了检查这一点,我创建了另一个MySql查询-

SELECT * FROM `comments` WHERE `comm_blog_id`=56;
SELECT * FROM `replies` WHERE `reply_blog_id`=56;

我不明白我错在哪里。有人可以帮助我吗?

以下图片可以帮助您更深入地了解-

注意- 以下两张图片与

replies
comments
的数据有关。

First query

comm_blog_id

reply_blog_id

php mysql
1个回答
0
投票

您可以使用以下查询

SELECT 
(SELECT COUNT(*) FROM `comments` WHERE `comment_message` LIKE '%testing%' AND `comm_blog_id` = 56) 
+
(SELECT COUNT(*) FROM `replies` WHERE `reply_message` LIKE '%testing%' AND `reply_blog_id` = 56) AS total_count;
© www.soinside.com 2019 - 2024. All rights reserved.