我希望有一个表的输出,其中包含计数,类别和类别(标题)字段中的所有项目(请参阅link1)。但是,我只能在cateogry字段中显示1个结果。正如您在link3中看到的,实际上outlook :: others类别中有很多项。我试图加入该表(请参阅link2)。
我希望得到像这样的结果
18 software :: email :: outlook :: outlook中未读的文件夹
18软件::电子邮件:: outlook ::其他她的老板bb无法同步
18个软件:: email :: outlook ::其他广告帐户被锁定 。
我使用过这个mysql语句但是没有用
SELECT count(*)count,HD_CATEGORY.NAME AS CATEGORY 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 order by counts desc limit 10
Link1(结果输出)
http://postimg.org/image/62kjzlcvz/
Link2(数据库表)
http://postimg.org/image/hg73asnen
Link3类别与标题
http://postimg.org/image/9wdn5mypd
答案 0 :(得分:0)
我不确定我理解您的查询,但您应该将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