我对 MySQL 还很陌生,我遇到了这个问题,我已经寻求帮助,但找不到答案(可能是因为我不确定要搜索什么)。我确信有一个简单的解决方案。
我有一个像这样的简单 MySQL 表:
id | referenceid | status
40 104702 4
39 104720 2
38 104720 0
37 104719 2
36 104719 0
35 104702 2
34 104702 0
41 104719 5
我想获取一个将产生以下输出的数组:
对于每个唯一的“referenceid”字段,我想知道最高的“ID”(即最近的)及其“状态”。
所以我试过这个查询:
$result = mysql_query(
"SELECT status,id,referenceid
FROM image_status_tracking
GROUP BY referenceid",$db);
while ($row = mysql_fetch_array($result)) {
$id = $row['id'];
$status = $row['status'];
$referenceid = $row['referenceid'];
echo "ID $id, REFID $referenceid, Status $status <br />";
}
这给出了这个输出:
ID 40, REFID 104702, Status 4
ID 37, REFID 104719, Status 2
ID 39, REFID 104720, Status 2
但这不是我希望的结果。参考 ID 104719 的 ID 和状态应该是 41 和 5,而不是 37 和 2。
我无法弄清楚如何获取每个参考 ID 的最新 ID 行输出。
我注意到,在 PHPMYADMIN 中(您可以在上表中看到),ID 以相反的顺序列出,最新的 ID 在底部。我不确定这是否与这个问题有关。
我希望这很清楚,我相信这是一件简单的事情。
感谢您的阅读。
詹姆士