我有一个SQL格式的表,其格式如下:
ReportLogID | SiteID | ReportName | ReportPath | UserName | RunDateTime
------------|--------|------------|--------------|----------|------------
1 | 3 | Report 1 | C:\1.report |User | 2014-11-26
2 | 8 | Report 1 | C:\1.report |User | 2014-12-20
3 | 3 | Report 2 | C:\2.report |User | 2014-12-21
4 | 3 | Report 1 | C:\1.report |User | 2014-12-22
我有以下代码来统计报表的总运行次数以及运行的最后日期:
SELECT ReportName, MAX(RunDateTime) AS LASTRAN, COUNT(*) AS TIMESRAN FROM ReportLog GROUP BY ReportName ORDER BY TIMESRAN DESC
我需要在考虑SiteID的情况下运行此报告。我知道该报告已经运行了X次,并且它的最后运行日期为X。但是,我需要按SiteID对其进行细分-因此,报表1对SiteID 3总共运行了X次,最后一次在YYYY-MM-DD上运行。我遇到了一个障碍。
任何帮助将不胜感激!
答案 0 :(得分:0)
您可以按照以下步骤进行操作:
SELECT ReportName
, MAX(RunDateTime) AS LASTRAN
, COUNT(*) AS TIMESRAN
FROM ReportLog
GROUP BY ReportName
, SiteID
ORDER BY TIMESRAN DESC