【发布时间】:2011-09-08 01:02:59
【问题描述】:
我有一个包含以下字段的表:
candy_name
candy_type
candy_amount
candy_vendor
一个 candy_type 可以有多个 candy_name,例如“gummis”可能有“orange”、“watermelon”、“sour watermelon”等等。
我正在做的是按供应商搜索此表,然后我想查看每个唯一 candy_type 的最新条目(忽略 candy_name)。也就是说,每个唯一 candy_type 最近添加的行。
所以我发现了如何在该表中查找所有独特的 candy_types:
$sql = "SELECT DISTINCT candy_type FROM candy_table
WHERE candy_vendor LIKE '%$user_searchbox_input%'
ORDER BY candy_vendor ASC";
$result=mysql_query($sql);
现在我需要了解如何检索每个唯一 candy_type 的 MOST RECENT 记录。
就像 candy_type 的“gummi”一样,如果与该类型匹配的最后一条记录是“orange”,那就是我想看到的——而不是其他的。
对于“chocolate”的candy_type,如果最后匹配的记录是“milk”,我不关心其他记录,但我想检索与candy_type匹配的最新记录。
我该怎么做?
【问题讨论】:
-
你如何定义“最近的”?是最后添加的还是最后更新的?还是最后访问的那些?你的表结构是什么?您似乎没有提供足够的信息。
-
@Aleks,你不需要那么多信息,Jerry 可以自己修改代码。最近 =
having timestamp = max(timestamp)OP 需要做的就是重命名该字段以适应他的数据库架构。 -
@Aleks,最后添加的。我没有想到这可能会产生误导。我将更改我的原始帖子。谢谢!