我想要一个表的输出,该表具有count,category和category(title)字段中的所有项(请参阅link1)。但是,我只能在“类别”字段中显示1个结果。正如您在link3中所看到的,Outlook :: others类别中实际上有很多项目。我试图加入表(请参阅link2)。

我想要这样的结果

18软件::电子邮件::外观::其他Outlook中未读的文件夹

18软件::电子邮件::外观::其他她的老板BB无法同步

18个软件::电子邮件::外观::其他广告帐户已锁定



我已经使用了这个mysql语句,但是不起作用

SELECT count(*)计数,HD_CATEGORY.NAME作为从HD_TICKET加入的类别,HD_CATEGORY ON(HD_CATEGORY.ID = HD_TICKET.HD_CATEGORY_ID)在何处(HD_TICKET.HD_QUEUE_ID = 1)在HD_CATEGORY.NAME的组中按计数顺序限制10个desc

Link1(结果输出)
http://postimg.org/image/62kjzlcvz/

Link2(数据库图表)
http://postimg.org/image/hg73asnen

Link3类别的标题
http://postimg.org/image/9wdn5mypd

最佳答案

我不确定我是否理解您的查询,但是您可能应该将HD_TICKET.TITLE添加到group by子句。

SELECT count(*)  counts
     , HD_CATEGORY.NAME AS CATEGORY
     , HD_TICKET.TITLE
FROM HD_TICKET
JOIN HD_CATEGORY
    ON HD_CATEGORY.ID = HD_TICKET.HD_CATEGORY_ID
WHERE HD_TICKET.HD_QUEUE_ID = 1
group by HD_CATEGORY.NAME
      ,  HD_TICKET.TITLE
order by counts desc limit 10


在大多数DBMS中,按select子句进行分组是无效的,mysql(默认设置)将从组中随机选择一行。您可以通过将ONLY_FULL_GROUP_BY添加到@@ sql_mode来防止这种情况

08-28 10:12