【发布时间】:2015-03-14 04:45:38
【问题描述】:
我进行了一些研究,但发现了一些似乎不是我需要的示例。我的表结构是这样的:
Hostname Filename Timestamp
Host1 ***.exe 2014-09-09 12:01:45.000
Host1 ***.pdf 2014-08-09 12:01:45.000
Host1 ***.ide 2014-07-09 12:09:44.000
Host1 ***.ide 2014-12-31 12:00:00.000
Host2 ***.exe 2014-09-09 12:01:45.000
Host2 ***.pdf 2014-08-09 12:01:45.000
Host2 ***.ide 2014-07-08 12:09:44.000
Host2 ***.ide 2014-12-29 12:00:00.000
有几百台主机,每台主机都有数十万个文件。我想要得到的是来自每个主机的一个 .IDE 文件——以具有最新时间戳的为准。所以在这种情况下,我想返回:
Host2 ***.ide 2014-12-29 12:00:00.000
Host1 ***.ide 2014-12-31 12:00:00.000
我尝试了以下方法,但它似乎不是我想要的,我无法弄清楚为什么,但我知道这是错误的:
select hostname, filename, max(timestamp) as timestamp from TABLE where
filename like '%.ide%'
group by hostname,filename
任何帮助将不胜感激!
【问题讨论】:
-
为什么要使用group by
标签: sql-server timestamp