SQL Query匹配两个字段

时间:2015-07-15 06:51:41

标签: php html mysql

我目前有一个名为cc_site的表,在此表中我存储了来自不同IP地址的ping的结果。

该表有四个字段:

  • 自动递增ID字段
  • 日期(包括时间)
  • IP地址
  • status(用于确定ping是否成功)。

我正在尝试创建一个查询,它会根据个人IP地址的日期字段为我提供最新结果。我正在使用的代码如下所示,但除非我在查询中使用的IP是表中的最新条目,否则它不起作用。

$query = "SELECT *
          FROM cc_site
          WHERE ip='$host'
          AND Date IN (
              SELECT max(date)
              FROM cc_site
          )";

我知道查询不正确但是我找不到能够执行我需要的查询的代码。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:4)

不需要该子查询。使用可以使用LIMITSELECT * 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)

这将根据日期按降序对记录进行排序,并返回具有最高记录的记录。