2014-10-20 35 views
-4

我无法通过使用sql-server从我的数据库中提取信息来创建报告时遇到问题。我有3个表格:事件,行动和代理。SQL statment,总结发生次数,按照出现次数从高到低排序

在事件发生后的表我有属性,如

primary key (incident_id) 
and others (status and action_id). 

在我的操作表我有

foreign keys (incident_id and agency_id) 
a primary key (action_id). 

在我

Agency table 

我有一个

primary key (agency_id) 
and other attributes such as (agency_name and agency_type). 

我需要一个按照类型进行分组的sql语句,总结事件所具有的操作的数量,并将它们从最高位置降到最低位置,状态关闭。

任何帮助将不胜感激。 谢谢你的时间。

+3

的mysql + SQL服务器。请选择一个。 – Tanner 2014-10-20 15:43:05

+2

“我需要一个sql语句......”。这不是获得帮助的正确方法。您应该向我们展示您已经做出了一些努力,显示您的代码并告诉我们您遇到了哪些问题以获得帮助并避免降低成本。 – consuela 2014-10-20 15:43:31

回答

1

使用MySQL的语法,下面应该帮助你前进的道路:

SELECT ag.agency_type, count(ac.action_id) 
FROM 
incident AS i INNER JOIN 
action AS ac ON i.incident_id=ac.incident_id INNER JOIN 
agency AS ag ON ac.agency_id=ag.agency_id 
WHERE i.status='Closed' 
GROUP BY ag.agency_type 
ORDER BY count(ac.action_id) DESC;