【问题标题】:PHP - save the recent 3 viewed cars in DBPHP - 在数据库中保存最近查看的 3 辆汽车
【发布时间】:2021-11-16 12:05:59
【问题描述】:

我想将汽车 ID 和时间戳保存到数据库中。但只有最后 3 辆查看过的汽车。

id  | 时间戳    | 车辆 ID
01 |23-09-21 22:53|XIEKFWSH7S5GESQDGS
02 |23-09-21 24:32|GSTRDDHSDE5GHRDSGD
03 |23-09-21 46:17|LDHGUC86SJNB6%HNSH

检查是否有旧的时间戳并优先覆盖(如果,则为其他),因为它会生成大量数据。

【问题讨论】:

  • 如果您可以在车辆的每个视图上添加两列到您的车辆表updated_timestamp, no_of_views 会更好更新no_of_views 并设置您的updated_timstamp 每次自动更新您对特定的车排进行更改。然后您可以设置一个简单的查询,并根据updated_timestamp获取观看次数最多的三辆车
  • ORDER BY timestamp DESC LIMIT 3

标签: php mysql for-loop if-statement connection


【解决方案1】:

一种方法是将以下索引添加到您的表中:

CREATE INDEX idx ON yourTable (timestamp);

然后,运行这个查询:

SELECT *
FROM yourTable
ORDER BY timestamp DESC
LIMIT 3;

最后,为了处理您不需要的数据,您可以定期从数据中删除旧数据,除了最近的前三行。

DELETE t1
FROM yourTable t1
LEFT JOIN
(
    SELECT id
    FROM yourTable
    ORDER BY timestamp DESC
    LIMIT 3
) t2
    ON t2.id = t1.id
WHERE
    t2.id IS NULL;

【讨论】:

  • Biegelesen,如何连接到数据库? php?我的表可能是最新的。第 1 列:VehicleId 和第 2 列:时间戳。
猜你喜欢
  • 2018-10-13
  • 1970-01-01
  • 1970-01-01
  • 2023-02-01
  • 2014-04-14
  • 1970-01-01
  • 2020-05-18
  • 1970-01-01
  • 2011-03-06
相关资源
最近更新 更多