【问题标题】:SELECT Records from the last time a record was recorded using SQL从上次使用 SQL 记录记录时选择记录
【发布时间】:2018-03-24 11:32:12
【问题描述】:

我有这张表,我可以在其中按客户姓名和日期输入销售额

所以我有两个字段,我在其中选择客户姓名和日期,然后进行销售。

一切都很好,直到我在您选择客户名称时尝试添加功能。我希望他或她最后一次进行销售以显示销售总额。

在输入时已经记录了总额并存储在表格的另一列中。

现在我的问题是日期。 让我们说最后一次,那个特定的客户进行销售是在 3 月 20 日。他或她现在正在 3 月 24 日(即今天)进行销售。

我想查询他或她在 3 月 20 日的销售额。 正如我已经说过的,我已经将总销售额存储在表中,所以我可以使用

SELECT CustomerName, totalAmount 
FROM transactions 
WHERE DATE(created_at) = DATE(NOW() - INTERVAL 1 DAY);

但是使用这种方法,它会将我引向 3 月 24 日,这不是我想要的。 有人可以指导我如何做到这一点吗?

因为查询必须找到客户进行销售的最后日期并提出总销售额。

谢谢大家。

【问题讨论】:

  • SELECT CustomerName, totalAmount FROM transactions WHERE CustomerName = $CustomerName order by created_at desc limit 1,1 它将始终返回客户的最后一条记录。
  • 谢谢。这种方法对我来说很容易。
  • 很高兴知道这一点。

标签: php sql


【解决方案1】:

您可以通过简单的限制和订购来做到这一点

   SELECT CustomerName, totalAmount FROM transactions WHERE CustomerName = $CustomerName order by created_at desc limit 1,1

【讨论】:

    【解决方案2】:

    你可以使用子查询

      SELECT CustomerName, totalAmount 
      (select  top 1 DATE(created_at)  FROM transactions a where 
       a.CustomerName= b.CustomerName) lastSaleDate
      FROM transactions b
      where  CustomerName= $customer 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      相关资源
      最近更新 更多