从没有ID的表中删除maxdate

时间:2018-02-05 14:05:59

标签: php mysql

我想要删除日期最长的行,但我正在使用的表没有自动增加ID,而是有多个具有相同ID的行,但每行都有不同的信息

我想删除最高日期,因为这也是使用该ID插入的最后日期,因此我想使用MAX,否则我将删除具有该ID的所有行。

现在我正在尝试(这是我的PHP文件中的查询):

DELETE FROM onderhoudsLog 
WHERE systeemContractID = :systeemContractID 
AND startDatum = MAX(:startDatum)

DELETE不起作用。

这是我的PHP函数:

function onderhoud($id, $startDatum){
  $query = "DELETE FROM onderhoudsLog WHERE systeemContractID = :id AND startDatum = MAX(:startDatum");
  $q = $this->DB->prepare($query);
  $q->execute(Array(
    ':id' => $id,
    ':startDatum' => $startDatum,
  ));
}

1 个答案:

答案 0 :(得分:2)

按日期订购数据并仅删除第一条记录

DELETE FROM onderhoudsLog 
WHERE systeemContractID = :systeemContractID 
ORDER BY startDatum DESC
LIMIT 1