我不太了解MySQL,这是我正在使用的表结构。

使用者


  id | first_name |姓|用户名
  |密码


类别


  id | user_id |名称|描述


链接


  id | user_id | category_id |名称|
  网址|描述|添加日期|
  hit_counter


我试图返回这样的结果集,以提供有关用户类别的信息,其中包括其中有多少个链接。


  id | user_id |名称|描述| link_count


目前,我有此查询,但它只返回具有链接的类别的行。它应返回没有任何链接的类别的行(空类别)。


  选择类别。*,COUNT个(links.id)
  从类别LEFT JOIN链接打开
  Categories.id = links.category_id;


如何查询?谢谢。

最佳答案

我们无法选择带有聚合的表点“星号”。

您想做的是(伪代码):

select
    categories.field1,
    categories.field2,
    {etc.}
    count(links.id)
from categories
left join links
    on categories.id = links.category_id
group by
    categories.field1,
    categories.field2,
    {etc.}


iow:您缺少按代码分组的分组方式,无法在查询结果集中获得正确的汇总。

关于mysql - MySQL计数类别中的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3706074/

10-16 18:19