gpt4 book ai didi

php - 按日期排序,只有每个产品的最新行

转载 作者:行者123 更新时间:2023-11-29 02:05:17 25 4
gpt4 key购买 nike

为了创建一个表,我使用以下查询检索数据:

SELECT cId,cProductId,cDate,cInfo FROM tProduct ORDER BY cProductId ASC,cDate ASC;

当然,我大大简化了查询,但值得注意的是,同一个产品可能有很多记录,而且是最新的唯一让我感兴趣的记录,因此我如何排序我的查询:我只存储信息对于我在 while 循环中遇到的最后一行。

while (($row = $result->fetch()) !== FALSE)
{
if(!empty($row[0])){
if(($table_row[1]!=$row[1])&&(!empty($table_row[0]))){
//Display the last row saved
}
$table_row= array($row[0],$row[1],$row[2],$row[3]);
}
}

现在我想为生成的 html 表实现一些排序选项。我会将排序信息存储在 session 变量中。在排序选项中,我希望能够按日期排序。在按日期排序查询时,我如何确保只检索每个产品的最新行?

最佳答案

您没有在查询中包含 FROM 子句。但是,假设您想要每个产品 ID 的最新行,您可以执行如下操作:

SELECT cId,cProductId,cDate,cInfo
FROM tProduct t1
WHERE cDate = (SELECT max(cDate) FROM tProduct t2 where t1.cProductID = t2.cProductId)
ORDER BY cProductId ASC,cDate ASC;

关于php - 按日期排序,只有每个产品的最新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com