Php 获取MySQL数据库中每个用户的最新条目

Php 获取MySQL数据库中每个用户的最新条目,php,mysql,Php,Mysql,这是一个“最佳实践”问题 我有一个USERS表(user\u id,name) 我有一张朋友表(朋友id,姓名) 我有一个FRIEND\u事实表(FRIEND\u id、user\u id、fact\u id、fact\u content) 我想做的是为特定用户“获取每个朋友的最新朋友信息”-> 我面临的挑战是“获取最新信息”-我的问题是如何做到这一点,并使其发挥作用。以下是我对方法的看法: 向每个FRIEND_事实条目添加一个时间戳,查询每个FRIEND的表并按时间戳限制1返回订单。(这似

这是一个“最佳实践”问题

  • 我有一个USERS表(user\u id,name)
  • 我有一张朋友表(朋友id,姓名)
  • 我有一个FRIEND\u事实表(FRIEND\u id、user\u id、fact\u id、fact\u content)
我想做的是为特定用户“获取每个朋友的最新朋友信息”->

我面临的挑战是“获取最新信息”-我的问题是如何做到这一点,并使其发挥作用。以下是我对方法的看法:

  • 向每个FRIEND_事实条目添加一个时间戳,查询每个FRIEND的表并按时间戳限制1返回订单。(这似乎是可行的,但如果一次查询1000个朋友,会不会造成大量重复排序?)
  • 每次添加事实时,替换最新的事实关系表中的一个条目,该表只存储事实id和朋友id。(这看起来更简洁,但意味着维护另一个表)
  • 还有其他想法吗?我不是一个有这些东西的巫师,所以我试图获得最有效的方法,而不会使解决方案过于复杂

    我可能会做的是: $query=“从事实中选择max(事实\u id),其中friend\u id='$friendId'

    然后,您就可以用max id抓取人脸的所有信息了?
    这就是您试图实现的目标吗?

    max()是否检索“最新”结果?抱歉,我现在要睡觉了,但我认为max得到的结果数据最多?如果你自动递增id的max()将获取最新结果我知道这已关闭,但问题的第二部分不同-因此我是否需要添加时间戳列以确定哪个是最新条目?