【问题标题】:In PHP, how do I ask a mySQL database to retrieve the most recent record that matches a certain value?在 PHP 中,如何让 mySQL 数据库检索与某个值匹配的最新记录?
【发布时间】:2011-11-15 13:39:28
【问题描述】:

我有一个表格,用户将在其中选择一个类别并输入搜索参数,我必须找到帽子类别中的最新值。

数据集的一个示例可能是:

ID  | category  | name  | price | date
1   | bubblegum | Steve | 2.00  | 2011/1/1
2   | bubblegum | Bob   | 1.00  | 2011/1/8
3   | bubblegum | Steve | 1.80  | 2011/2/1

如果用户搜索“Steve”,他们将只获得包含“steve”名称的最新价格。

Max(date) 似乎不起作用,我不明白为什么。我认为这是因为如果我要寻找“鲍勃”,因为鲍勃没有出现在 Max(date) 中,它就不会出现。但也许我使用的 SELECT 参数错误。

【问题讨论】:

  • 你使用 order by date desc limit 1

标签: php mysql select


【解决方案1】:
SELECT *
FROM yourtable
ORDER BY date DESC
WHERE name='Steve'
LIMIT 1

【讨论】:

  • 你的WHEREORDER BY 的顺序不对,不是吗?
【解决方案2】:
SELECT * FROM yourtable WHERE name='Steve' ORDER BY date DESC LIMIT 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2013-03-01
    • 2021-10-22
    • 1970-01-01
    • 2013-03-05
    相关资源
    最近更新 更多