php – 计算MySQL中DISTINCT行的数量

前端之家收集整理的这篇文章主要介绍了php – 计算MySQL中DISTINCT行的数量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在用PHP / MysqL构建一个评论系统.这个评论系统有一个很好的功能,它允许用户突出显示文本(在数据库中存储为“selected_text”),然后突出显示的文本将与用户发表的评论一起存储在数据库中.此外,我还将段落(突出显示的文本出现)存储为INT.这些值都存储在数据库中,但现在我想用它们做些什么.

我想创建“评论计数器”.这些注释计数器将放在文章中每个段落的旁边,它们将显示对它们所附加的段落所做的注释总数. “评论”的视觉概述:表格结构:

我尝试检索此信息的最新查询是:

$distinct = MysqL_query(“SELECT COUNT(DISTINCT paragraph_id)FROM comments”);

和相应的PHP代码

while ($result_three = MysqL_fetch_array($distinct)) 
{ 
    echo $result_three['paragraph_id'];
}

现在,我想我可能会以错误的方式解决这个问题.我曾考虑尝试运行首先查找所有DISTINCT paragraph_ids的查询.接下来,我会为每个循环运行一个计算这些paragraph_ids出现次数的循环.

我现在正在处理的查询似乎没有实现我的目标.此外,我担心我没有明确的方法将计算的数据明确地附加到“评论计数器”.

最佳答案
基本上,您需要计算每组段ID中的注释.正确的查询如下:

$distinct = MysqL_query("SELECT paragraph_id,(DISTINCT comment_id) as comment_count FROM comments GROUP BY paragraph_id");

while ($result_three = MysqL_fetch_array($distinct)) 
{ 
    echo $result_three['paragraph_id']; // Gives the id of the paragraph
    echo $result_three['comment_count']; // Gives the comment count for the associated paragraph
}
原文链接:https://www.f2er.com/mysql/434223.html

猜你在找的MySQL相关文章