栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

mysql计数不能正常工作?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql计数不能正常工作?

您需要将

SELECt
子句中除之外的所有列添加
c.USER_ID
GROUP BY
子句中,如下所示:

group by c.ID, c.otherfields, l.title,..

编辑: 我认为以下将正常工作:

SELECT count(c.USER_ID) as total_commments_user ,        c.*, u.NAME, l.TITLE as link_TITLE, u.AUTH_IMGFROM `PLD_COMMENT` c left outer join `PLD_USER` u ON (u.ID = c.USER_ID) left outer join `PLD_link` l ON (l.ID = c.ITEM_ID) group by c.ITEM_ID, c.USER_IDORDER BY c.USER_ID, l.ID

示例: 如果您具有以下示例数据:

  • PLD_link:

    ID   STATUS   TITLE

    1 1 title1
    2 2 title2

  • PLD_USER:

    ID     NAME

    8 Mahmoud
    9 Ahmed

  • PLD_COMMENT:

    ID   ITEM_ID USER_ID   STATUS

    4 1 8 1
    5 1 8 1
    6 1 8 1
    7 2 8 2
    8 2 8 2
    9 1 9 1
    10 1 9 1


情况1:用户
Mahmoud
显示两次:

然后,上一个查询将为您提供每个用户和每个项目的评论计数,如下所示:

total_commments_user  ID  ITEM_ID   USER_ID   Name         3 4      1         8     Mahmoud         2 7      2         8     Mahmoud         2 9      1         9      Ahmed

请注意,由于用户

Mahmoud
具有不同的,因此该用户以不同的计数显示了两次
Item_Id


情况2:用户
Mahmoud
只被打了一次:

如果要获取所有项目的每个用户的评论数,则只需要按进行分组

USER_ID
,那么您将获得:

total_commments_user  ID  ITEM_ID   USER_ID   Name5 4      1         8     Mahmoud         3 9      1         9      Ahmed

正如您现在所看到的,因为我们使该用户

Mahmoud
无效,所以该用户仅显示一次
Item_Id

然后,您可以按状态或其他条件进行过滤。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441358.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号