【发布时间】:2011-09-21 04:31:01
【问题描述】:
我有一个这样的 SQL Server 表:
id(autoincrement)
hostname(varchar)
group(varchar)
member(varchar)
datequeried(varchar)
该表由一个计划作业填充,该作业扫描网络以查找 Windows 客户端 PC 本地管理员组成员。
- 网络扫描 - 与在扫描期间某些站点可能不可用的事实相吻合。
我想写的查询是:
"select every hostname having the latest datequeried"
这是显示在网络上查询的每个主机名的最新结果(行)。
清楚吗? 我仍然面临一些语法问题,我相信这很容易。
提前致谢。
【问题讨论】:
-
SELECT * FROM table WHERE datequeried = MAX(datequeried)? -
我注意到(而且大多数答案似乎都忽略了)datequeried 是
varchar出于某种可怕的原因。我们至少可以希望它以字符串可排序的方式(例如 YYYYMMDD 或类似方式)存储日期(时间)值吗?您现在可以修改架构以使用更合适的数据类型(日期时间或(假设 20008 年)日期时间 2 或日期)吗?
标签: sql-server date select