我目前有一个名为cc_site
的表,在此表中我存储了来自不同IP地址的ping的结果。
该表有四个字段:
我正在尝试创建一个查询,它会根据个人IP地址的日期字段为我提供最新结果。我正在使用的代码如下所示,但除非我在查询中使用的IP是表中的最新条目,否则它不起作用。
$query = "SELECT *
FROM cc_site
WHERE ip='$host'
AND Date IN (
SELECT max(date)
FROM cc_site
)";
我知道查询不正确但是我找不到能够执行我需要的查询的代码。
任何帮助都会很棒。
答案 0 :(得分:4)
不需要该子查询。使用可以使用LIMIT
和SELECT * FROM cc_site WHERE ip='$host' ORDER BY `date` DESC LIMIT 1
代替 -
select t1.id,t1.values,t2.values from
table1 t1
left outer join
table t2 on nvl(t1.id,0)=nvl(t2.id,0)
这将根据日期按降序对记录进行排序,并返回具有最高记录的记录。