与查询计数混淆

时间:2011-11-15 14:35:29

标签: mysql

我的网站上有票务管理系统。一个名为tkt_container的表记录了所有响应,其中包含2列名称票证ID和用户ID

TICKET ID | USER ID
101       | A
105       | B
103       | A
110       | A
105       | A
101       | A
103       | A
101       | A

其他表dept_info存储这样的票证信息。

Dept Name | Ticket ID
Billing   | 101
Billing   | 110
Accounts  | 105
CustomerSu| 103

现在我希望以部门名称和总回复的方式取得这种方式..

DEpt Name | Total responses for A
Billing   | 4
Accounts  | 2
CustomerSu| 2

2 个答案:

答案 0 :(得分:2)

SELECT `Dept Name`, COUNT(`USER ID`)
FROM dept_info
LEFT JOIN tkt_container ON tkt_container.`TICKET ID` = dept_info.`Ticket ID`
GROUP BY dept_info.`Dept Name`

强烈强烈建议您为字段和表格选择更好的名称。将空格放入字段名称绝对没有正当理由。

答案 1 :(得分:0)

使用这样的查询(我为用户'A'写了一遍):

select di.dept_name, count(*) as 'Total responses for A'
from  dept_info di inner join tkt_container tc on di.ticket_id = tc.ticket_id
where tc.user_id = 'A'
group by di.dept_name
order by di.dept_name